gpt4 book ai didi

使用追加添加项目后 jQuery fadeIn

转载 作者:行者123 更新时间:2023-12-01 06:42:22 28 4
gpt4 key购买 nike

请有人让我摆脱痛苦......我已经投入了一个又一个小时......

我已经(这是缩写)创建了一个函数,该函数使用 append 将框添加到页面。问题是一旦添加了它们,淡入功能就不起作用了。 但是,如果我将元素硬编码到页面上,它将起作用:

这是我的 JavaScript:

          //Loop through the images and print them to the page
for (var i=0; i < totalBoxes; i++){
//$("p").add(arr).appendTo('#bg');
$.ajax({
url: "random.php?no=",
cache: false,
success: function(html){
$(html).fadeIn(html).appendTo('#bg');
}
});
}

//Choose the image to be faded in
$(".pf-box img").hover(function(){
var largePath = $(this).attr("rel");
$(this).fadeOut("slow", function() {
$(this).attr({ src: largePath }).fadeIn("slow");
});
return false;
});

random.php 确实打印了很多盒子...这是一个打印示例:

<div class="pf-box" style="">
<a href="#">
This is where the image is printed with the rel attribute on the image tag. (stackoverflow didnt allow the posting of the img tag because its my first post)
</a>
</div>

最佳答案

您的 fadeIn 函数的参数似乎不正确。我认为您还需要将 html append 到您的文档中,然后才能淡入。

在你的成功函数中试试这个吗?

function(html) {
$('#bg').append(html).fadeIn('slow');
}

您还可以找到 doc淡入页面会很有帮助。

祝你好运!


编辑/更新

好吧,我想我知道你现在想做什么。修复了我上面描述的语句( append 然后淡入)后,您需要做的是在 ajax 检索/append 发生后分配您的 hover 事件之后有机会完成。

发生的情况是,您的第一个代码块正在向网络服务器发出一堆异步请求,以获取您想要的图像。然后,在您的第一个 block “完成”之后,但(重要的是!)在这些请求有机会完成之前,您的第二个代码块将(尝试)执行。它正在寻找选择器“.pf-box img”来尝试添加 hover 事件,但问题是,这些图像在页面上尚不存在!

您需要做的是等待图像从服务器返回,然后再尝试选择它们或向它们添加事件。这是通过回调完成的,您已经在 success 函数中部分地使用了回调...

(请注意,我还没有对此进行测试,它只是为了演示......)

// Loop through the images and print them to the page.
// Attach hover event within the callback, after image has been added.
for (var i=0; i < totalBoxes; i++){
$.ajax({
url: "random.php?no=",
cache: false,
success: function(html) {
// following line I originally suggested, but let's make it better...
//$('#bg').append(html).fadeIn('slow');
// also note the fine difference between append and appendTo.
var $d = $(html).hide().appendTo('#bg').fadeIn('slow');
$('img', $d).hover(function() {
var largePath = $(this).attr("rel");
$(this).fadeOut("slow", function() {
$(this).attr({ src: largePath }).fadeIn("slow");
});
});
}
});
}

关于使用追加添加项目后 jQuery fadeIn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1671117/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com