我有一个简单的jquery脚本,可以更改图像的url路径。唯一的问题是在我点击load more按钮后不适用。因此,我正在尝试一种变通方法,即在单击按钮后再次调用脚本。
<script type='text/javascript'>
$(document).ready(function ReplaceImage() {
$(".galleryItem img").each(function() {
$(this).attr("src", function(a, b) {
return b.replace("s72-c", "s300")
})
})
});
</script>
HTML
<a href="javascript:;" onclick="ReplaceImage();">Load More</a>
发布于 2016-10-07 08:37:29
虽然Keith的答案会让你得到你想要的东西,但我真的不能推荐这种方法。有了这样的东西,你会过得更好。
<script type="text/javascript">
$(function() {
var replaceImage = function() {
$('.galleryItem img').each(function() {
$(this).attr('src', function(index, value) {
return value.replace('s72-c', 's300');
});
});
};
replaceImage();
$('.js-replace-image').on('click', replaceImage);
});
</script>
使用此html
<button class="js-replace-image">Load More</button>
通过采用这种方法,您不会在window对象上公开任何全局变量,如果您使用的其他库(或开发人员)没有很好地管理它们的全局变量,这可能是一个问题。
此外,通过使用类名并通过JavaScript将事件处理程序绑定到DOM节点,可以进一步证明自己的能力。还允许您轻松地将此功能添加到更多按钮,但只需添加一个类即可。
我将锚标记更新为一个按钮,因为您需要做的语义-它不会链接到任何地方,它只是页面上的动态功能。这就是按钮的最佳用途。
我也建议你把这个放在你网站的页脚,因为根据你的情况,你已经可以在不点击按钮的情况下正确更新图片了。如果您在加载后动态地在页面上插入更多图像,或者如果此脚本位于文档的头部(这意味着jQuery还不知道这些图像),则只需要使用该按钮。
我希望这对你有帮助,如果你有问题,请联系我。
https://stackoverflow.com/questions/39907402
复制相似问题