requirejs,大家帮我看看我这样不对吗


我把我自己编辑好的代码放到了seajslx.js里了,所有文件我都放在一个目录下了
我的main.js是下边这样写的


 require.config({
    baseUrl:"./",
    shim:{
        "seajslx":{
            exports:'seajslx'
        }
    },
    paths : {
        "jquery" : ["http://libs.baid1u.com/jquery/2.0.3/jquery", "jquery-1.11.2.min"],
        "seajslx": "seajslx"
    }
})
var a =require(["seajslx"]);
a;

然后我自己编辑的一段js是下边这样,我也定义在了define()中了


 define(function(){
    window.onload = function () {
        //当前高亮的便签,初始值为0
        var index = 0;
        var timer = null;  //给定时器设置个变量,开始初始值是空
        //添加定时器,改变高亮的索引

        var tabstop = document.getElementById("tabs_top");
        var tabli = tabstop.getElementsByTagName("li");
        var content = document.getElementById("content");
        var condiv = content.getElementsByTagName("div");
        timer = setInterval(function () {
            index++;
            //console.log(index)
            //console.log()来打印一下index++,来查看一下,从0一直往下走,所以要判断下让他只能增到4!所以做个判断用if
            if (index >= tabli.length) {   //让index永远在0-4之间变动
                index = 0;
            }
            //console.log(index)           上边是让index只在0-4间切换

            for (j = 0; j < tabli.length; j++) {   //循环起来,全部清除掉他们的样式
                tabli[j].className = "";
                condiv[j].className = "tabs_content"
            }
            //这里再给鼠标当前值添加classname
            tabli[index].className = "select";//这里的tabli[that.id]写成that也行
            //下边这个可以做一下测试来验证一下this.id,console.log(this.id),这个会是undefind,是取不到值的,可以测试是this还是id取不到,最后得到是this得不到,他是指向window的
            condiv[index].className = "tabs_content_show";
            //上边那个index如果换成id的话 就更好理解了
        }, 1000)

    }
    })

主要问题应该是上边这个代码,因为我换成
define(function(){
alert("hehe");
})
这个是可以运行的,但是上边那个就不能运行 ( ▼-▼ )
这个js代码是实现一个tab标签切换的效果,这个弄了一天了,还是弄不好,真心求救,哪个高人教教小弟吧,谢谢谢谢

web前端开发 requirejs JavaScript

PETER 9 years, 8 months ago

require的callback在onload事件触发之后执行( require 本质 是 <script asyn="true" src="xx"></script> 不阻塞页面解析 )。

也就是说,虽然你将fn绑定到window.onload上了,但是不会执行的。(因为onload事件已经触发了)

Mega笑脸 answered 9 years, 8 months ago

Your Answer