如果未从onclick处理程序调用,则Highslide overlay无法正确打开

时间:2013-09-25 22:51:12

标签: highslide

由于我的博客编辑器中包含带图片的javascript的限制,我试图将我的highslide弹出窗口与我的wordpress页面的onclick处理程序分开。

我发现如果我在onclick处理程序中包含一个hs.expand,用于它所使用的页面上的任何图像,但是如果没有至少一个图像在顶角处呈现而没有弹出覆盖。

这是我的主叫代码

<a class="highslide" title="View 'View from Karasawa Hut' on Flickr.com" href="http://www.flickr.com/photos/colinc/6092830822"  > 

<img  style="float: left;" 
onclick="return show_my_pic(this,'http://farm7.staticflickr.com/6208/6092830822_1fd2545d5b.jpg','View from Karasawa Hut')" 
id="img1" alt="View from Karasawa Hut" src="http://farm7.staticflickr.com/6208/6092830822_1fd2545d5b.jpg" 
width="500" height="333" border="0" />
</a>

这是显示功能

<script>
function show_my_pic (thePic,theSrc,theTitle) {
  return hs.expand(thePic, {src : theSrc} );
}
</script>

如果我包含其他链接,例如

<a  title="View 'View from Karasawa Hut' on Flickr.com" 
href="http://farm7.staticflickr.com/6208/6092830822_1fd2545d5b.jpg" 
onclick="return hs.expand(this)">

test

</a>
第一个链接工作的页面上的

,如果我不这样做。

真奇怪的是,如果我在第二个链接中删除了onclick处理程序,那么第一个就会停止工作。

从逐步通过highslide javascript开始,Init似乎正在触发并且正在创建坐标,它只是无法正确渲染。我花了很多时间没有成功,并且会喜欢一些想法吗?

科林

1 个答案:

答案 0 :(得分:0)

Highslider将要求首先加载页面。此外,您必须传递一个完全加载的图像元素

function init(){
    var img = document.getElementById('img1');
    show_my_pic(img, 'http://farm7.staticflickr.com/6208/6092830822_1fd2545d5b.jpg','View from Karasawa Hut');
}

...

<body onload="init()">