gpt4 book ai didi

javascript - jQuery Image fadeIn On Scroll Inside DIV

转载 作者:行者123 更新时间:2023-11-29 10:24:36 25 4
gpt4 key购买 nike

我无法让实际的 LazyLoad 插件为我工作,所以我正在尝试编写自己的插件。目前我有一个 DIV 中加载的图像列表。它们由 PHP 查询拉取到 mysql 数据库。 DIV 滚动设置为自动。我使用的代码是:

<div id="b1" style="overflow:auto;">
<?PHP $result = mysql_query("SELECT * FROM images");

while($row = mysql_fetch_assoc($result)) {

echo "<img src='$row[photo]' style='display:none'> <br>";

}

</div>

<script type="text/javascript">
function imgCheck() {
var position = $("img").offset().top;
var scrollCheck = $("#b1").scrollTop() + $("#b1").height();
if ( scrollCheck > position) {
$("img").fadeIn("fast");
}


$("#b1").scroll( function() { imgCheck() } );
</script>

虽然这对我来说不太管用。谁能帮我解决问题或提出一些建议?

最佳答案

一些事情:

  • 正如其他人所说,您的代码存在语法错误 - PHP 和 Javascript 均有。
  • 如果您使用display: none,元素将不会占据任何高度,从而导致整个内容无法滚动并失败。
  • 前几个元素应该是可见的,而无需用户开始滚动

考虑到这些,我们可以试试这样写:

// Cache the containing element and it's height
var b1 = $('#b1'),
h = b1.height();

// Insert 20 img's - simulating server-side code
for(var i = 0; i < 20; i++){
$('<img />', {
src: 'http://placehold.it/100x100',
alt: '',
class: 'hidden',
width: 100,
height: 100
// visibility: hidden to retain it's size
}).css('visibility', 'hidden').appendTo(b1);
}

b1.scroll(function(){
// Loop through only hidden images
$('img.hidden').each(function(){
// $(this).position().top calculates the offset to the parent
// So scrolling is already taken care of here
if(h > $(this).position().top){
// Remove class, set visibility back to visible,
// then hide and fade in image
$(this).css('visibility', 'visible')
.hide()
.removeClass('hidden')
.fadeIn(300);
} else {
// No need to check the rest - everything below this image
// will always evaluate to false - so we exit out of the each loop
return false;
}
});
// Trigger once to show the first few images
}).trigger('scroll');

在此处查看演示:http://jsfiddle.net/yijiang/eXSXm/2

关于javascript - jQuery Image fadeIn On Scroll Inside DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4222300/

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