当DIV内容通过AJAX刷新时,jQuery Slider无法正常工作

时间:2011-01-09 20:54:15

标签: jquery ajax

我有一个奇怪的问题,我无法深究。

我在这里更新了我页面正文中的div: http://www.brianrhea.com/newportfolio.php

(单击其中一个缩略图)

更新工作正常,但目标页面中的jQuery滑块不起作用。我在Firefox Web Developer Toolbar中查看生成的源代码并且代码看起来是正确的,但是我可能需要进行某种刷新吗?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

嘿 你在没有任何参数的情况下调用ajaxpage函数:

  $(document).ready(function() {
    ajaxpage();
  });

你定义它有两个:ajaxpage(url, containerid) url和containerid 并出现错误:

bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()

你是否因为某些原因需要在开始时调用它?

当您将内容加载到folioWrap时,滑块适用于目标页面,左右箭头正常工作,您始终指向目标页面上的同一文件(当新的时候内容已加载)对这些图像的点击调用同一页面,基本上从用户的角度来看没有发生任何事情,但在FireBug控制台中我可以看到ajax调用:

GET http://www.brianrhea.com/web-scwd.html?1294607162197
GET http://www.brianrhea.com/web-scwd.html?1294607169235
GET http://www.brianrhea.com/web-scwd.html?1294607170578
GET http://www.brianrhea.com/web-scwd.html?1294607171257

我不需要重新启动/重新初始化此插件,因为我发现您没有更改它的内容。

干杯

-G。

答案 1 :(得分:0)

您需要重新初始化加载AJAX的内容上的滑块。我注意到$(document).ready()内有以下内容:

$(document).ready(function(){
   $("#slider").easySlider({
     auto: false,
     continuous: true,
     speed: 1,
     numeric: true
   });
});

您需要将easySlider初始化代码添加到loadpage函数中。这是因为将内容加载到页面中不会触发$(document).ready()。由于您要使用AJAX替换可滑动元素,因此需要重新初始化滑块。

另外,我注意到你在没有使用jQuery的$.ajaxload()函数的情况下没有使用AJAX。通过AJIA加载页面部分时,这些将使您的生活更轻松。