我有一个带有两个缩略图图像的文档(正面和背面,如银行支票)。我可以通过在缩放中显示原始(大)图像的正面图像的一部分来放大正面缩略图图像。到目前为止一切都有效。 单击正面图像,将其与后部交换,我应该能够显示后部的变焦。但是,这不起作用。我相信应该修改zoomingRear()属性并为自定义属性提供值,或者zooming()需要以某种方式刷新以显示另一个图像。有什么想法吗?
我的图片来自会话来源:
<img style="border:1px solid #e8e8e6;" id="zoom_mw" onclick="this.src = this.src == rear()
? front() : rear();" src='<%= Session("ImageThumbnailPathFront")%>'
data-zoom-image='<%= Session("ImagePathFront")%>' width="500" height="250" />
JQuery的
<script type="text/javascript">
function pageLoad(sender, args)
{
zooming()
}
function front() {
return onImg = '<%= Session("ImageThumbnailPathFront")%>';
}
function rear() {
return offImg = '<%= Session("ImageThumbnailPathRear")%>';
zoomingRear()
}
function zooming() {
$(document).ready(function () {
$("#zoom_mw").elevateZoom({ scrollZoom: true });
});
}
function zoomingRear() { // <-- Problematic function
$(document).ready(function () {
document.querySelector(data-zoom-image='<%= Session("ImagePathRear")%>').elevateZoom({ scrollZoom: true });
// document.getElementById(
});
}
function getElementByAttribute(attr, value, root) {
root = root || document.body;
if(root.hasAttribute(attr) && root.getAttribute(attr) == value) {
return root;
}
var children = root.children,
element;
for(var i = children.length; i--; ) {
element = getElementByAttribute(attr, value, children[i]);
if(element) {
return element;
}
}
return null;
}
</script>
答案 0 :(得分:0)
你从你的onclick调用了zoomingRear(),但是在你的页面被加载之后就这样了,所以在zoomingRear()中使用$(document).ready()是没有意义的。只是尝试删除它并保留代码:
function zoomingRear() {
document.querySelector(data-zoom-image='<%= Session("ImagePathRear")%>').elevateZoom({ scrollZoom: true });
}