[英]Incorrect work jquery plugins bxslider with plugin elevatezoom
[英]jQuery elevateZoom work only when I put an alert() before
我有这个代码来启动jQuery elevateZoom但是,只有在我之前放置一个alert()
时才有效。
我已经尝试使用/不使用load()
函数。
jQuery(document).ready(function($){
alert("Hi");
$("#sh-product-main-image").load(function(){
$(this).elevateZoom({
zoomType: "inner",
debug : true,
cursor: "crosshair",
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 500
});
});
});
这是我尝试过的代码的另一种变体:
jQuery(document).ready(function($){
alert("Hi");
$("#sh-product-main-image").elevateZoom({
zoomType: "inner",
debug : true,
cursor: "crosshair",
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 500
});
});
这是因为$(document).ready()
在加载DOM时发生,而不是在加载所有图像时发生。 警报会导致延迟,并允许加载图像的时间。
以下应该有效:
$(window).on("load", function() {
$("#sh-product-main-image").elevateZoom({
zoomType: "inner",
debug : true,
cursor: "crosshair",
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 500
});
});
我认为elevateZoom插件只需要完全加载DOM才能正常工作,而不是Page load! (通常建议在页面加载时加载DOM!)
我认为下面的代码就足够了:
$(function() { /* Executed after DOM did load */
$("img#sh-product-main-image").elevateZoom({
zoomType: "inner",
debug : true,
cursor: "crosshair",
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 500
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.