Jquery 用AJAX实现条件加载

Jquery 用AJAX实现条件加载,jquery,ajax,touch,Jquery,Ajax,Touch,我试图有条件地加载一个.js文件,这取决于isTouchDevice是否为true。然后在#slider中添加一个类,该类定义所显示的滑块类型以及每个滑块所需的选项。我不知道我做错了什么,我愿意接受关于如何实现这一点的其他建议 更新: JS: HTML标记: <div id="slider"> <ul class="slides"> <li> <img src="images/loch-nevi

我试图有条件地加载一个.js文件,这取决于isTouchDevice是否为true。然后在#slider中添加一个类,该类定义所显示的滑块类型以及每个滑块所需的选项。我不知道我做错了什么,我愿意接受关于如何实现这一点的其他建议

更新:

JS:

HTML标记:

<div id="slider">

     <ul class="slides">

         <li>
             <img src="images/loch-nevis.jpg" alt="" />
         </li>

         <li>
             <img src="images/snow.jpg" alt="" />
         </li>

         <li>
             <img src="images/iceland.jpg" alt="" />
         </li>

     </ul><!-- end slides -->

</div><!-- end slider -->


使用jQuery getScript方法怎么样

if (isTouchDevice == true) {//Hook up Swipe
    $.getScript("swipe.min.js", 
        function() {
            $("#slider").addClass("flexslider");
            $('.flexslider').flexslider({directionNav: false })  // Removed errant ","
        }
    );
}

如果iTouch设备工作正常,您可以尝试lab.js或yepnope

lab.js示例:

if (isTouchDevice===true) {
  $LAB
    .script('swipe.min.js')
    .wait(function() {
      // do some stuff
    })
}
yepnope:(可能是错误的,我从未真正使用过yepnope)


if(isTouchDevice=true)
应该是
if(isTouchDevice=true)
?顺便说一句,这与我的错误相同,那是一个打字错误,而不是手头的问题,已经更新了。$.getScript方法只调用jquery中的$.ajax方法。它更简洁。好吧,它可能是,但仍然不能解决我的问题:/你试过使用.fail函数吗?打电话时,“swipe.min.js”在你的根文件夹中吗?我有一个单独的whatever.js文件,上面有我刚才提到的代码。它和所有的.js文件一起放在一个“javascripts”文件夹中。js文件与index.htmlDoesn不在同一个文件夹中。yepnope不是与Modernizer一起工作吗?你提出的两个建议我都没用过。但我会试试看。是的,摩登主义者正在努力。显然,他们有一个现代化的触摸测试,所以这是一个简单的解决办法。
if (isTouchDevice===true) {
  $LAB
    .script('swipe.min.js')
    .wait(function() {
      // do some stuff
    })
}
yepnope({
  test:isTouchDevice,
  yep:'swipe.min.js',
  callback: function (testResult,key) {
    // do some stuff
  }
});