从这个问题继:
Can't I use JQuery inside my FancyZoom popup?jQuery“alert”触发但设置img“src”被忽略?
两个答案,这个问题解决了这一问题,使我们的Hello World
警报火灾持续了FancyZoom弹出里面。
但是,我们真正需要做的不是触发警报,而是改变我们的img的src。
下面是我们所拥有的:
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/fancyzoom.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(document).on('click', '#foo', function() { $('#foo').attr('src', 'i/image2.png'); alert('hello world'); });
});
</script>
</head>
<body>
<div id="Container">
<a id="myFancyZoomPopup" href="#Test"><span>test</span></a>
<div id="Test">
<p> this is some text in the popup</p>
<img id="foo" src="i/image1.png" />
</div>
<script type="text/javascript">
$('#myFancyZoomPopup').fancyZoom({ directory: 'i'});
</script>
</div>
</body>
</html>
的“Hello World”的被解雇,但图像源未改变从image1.png
到image2.png
。
你试过this.src ='我/ image2.png'?而不是重新选择触发点击的元素? – scrappedcola
根据http://stackoverflow.com/questions/554273/changing-the-image-source-using-jquery,“attr”应该工作。 –
我的猜测是myFancyZoomPopup正在创建一个div的克隆,然后你的图像实际上正在更新,它只是不是在幻想缩放弹出框中可见的那个 – Bryan