jQuery刷新停止jQuery悬停工作

时间:2011-11-29 16:54:47

标签: php jquery html refresh

当点击文本“查看更多”时,我正在使用下面的脚本刷新div。 div从rotate.php文件中加载一堆随机图像。但是出于某些原因,在刷新div后,我应用的jquery悬停效果不再起作用。我确实尝试将jquery悬停脚本添加到rotate.php文件中,但这会阻止刷新脚本工作......:S有没有人对如何解决这个问题有什么想法? :)

<div class="headingtext">
<script type='text/javascript'>
$(function() {
  $("#refresh").click(function(evt) {
     $(".feature").load("rotate.php")
     evt.preventDefault();
  })
})
</script><a id="refresh" href="#">View More</a>
        </div>

        <div class="feature">
            <?php include('rotate.php') ?>
        </div>

我已应用于图像的jquery,但在刷新后停止工作:

 $(document).ready(function(){
 $(".feature img").hover(function() {
  $(this).stop().animate({opacity: "0.5"}, 'slow');
},
function() {
  $(this).stop().animate({opacity: "1"}, 'slow');
});
});

PHP(rotate.php):

<?php 
$random = "random.txt";
$fp = file($random);
shuffle($fp);
$keys = array_rand($fp, 3);
for ($i = 0; $i < 3; $i++):
$rl = $fp[$keys[$i]]; 
echo $rl;
endfor;
?>

2 个答案:

答案 0 :(得分:2)

您必须使用on功能(http://api.jquery.com/on/

替换:

 $(".feature img").hover(function() {

通过

$(".feature img").on("mouseover", function() {

答案 1 :(得分:2)

除了TeChn4K所说的

  1. 您应该同时使用mouseenter和mouseleave(或分别使用mouseover和mouseout)来处理这两个事件
  2. 从jQuery 1.7开始,您应该切换到使用.on()而不是.live()... live将在不久的将来被弃用