Javascript 使用Jquery在Onclick切换后添加到img的链接
我编写了一些代码(在stackoverflow的帮助下)在单击时切换两个图像。但是,我希望第二个图像链接到另一个网页(如应用商店) 当我单击第二个图像时,图像总是来回移动,如何添加到第二个图像的链接 jQuery:Javascript 使用Jquery在Onclick切换后添加到img的链接,javascript,jquery,html,css,hyperlink,Javascript,Jquery,Html,Css,Hyperlink,我编写了一些代码(在stackoverflow的帮助下)在单击时切换两个图像。但是,我希望第二个图像链接到另一个网页(如应用商店) 当我单击第二个图像时,图像总是来回移动,如何添加到第二个图像的链接 jQuery: <script type="text/javascript"> $(document).ready(function() { $('#slick-toggle').click(function() { $('img',this)
<script type="text/javascript">
$(document).ready(function() {
$('#slick-toggle').click(function() {
$('img',this).attr('src', function(i, oldSrc) {
return oldSrc == 'img/button.png' ? 'img/applestoredownload.png' : 'img/button.png';
});
$('#slickbox').toggle(400);
return false;
});
});
</script>
$(文档).ready(函数(){
$(“#平滑切换”)。单击(函数(){
$('img',this.attr('src',function(i,oldSrc){
返回oldSrc=='img/button.png'?'img/applestoredownload.png':'img/button.png';
});
$(“#滑动框”)。切换(400);
返回false;
});
});
相关HTML:
<div class="co-download-app">
<div class="wrapper">
<div id="imageContainer">
<a href="#1" id="slick-toggle">
<img src="img/button.png"/>
</a>
</div>
</div>
</div>
我应该在哪里添加只能通过单击第二个图像才能访问的链接?我想你的问题是,当你单击包含图像的链接时,图像源将被更改,下次再次单击链接时,它将重定向到链接
href
一种解决方案是在第一次单击链接之后更改代码中的某些内容,以便以后使用。在本例中,我为链接提供了一个类,下次单击链接时,它将检查是否有该类。如果存在follow href
类,它将跳过其余部分,如果不是,则将更改图像源。$(document).ready(function() {
$('#slick-toggle').click(function() {
if (!$(this).hasClass('follow-href')) {
var $img = $(this).find("img");
var src = ($img.attr('src') == 'img/button.png') ? 'img/applestoredownload.png' : 'img/button.png';
$img.attr('src', src);
$(this).addClass('follow-href');
$('#slickbox').toggle(400);
return false;
}
});
});
我更改了您的一些代码,但结果应该是一样的,希望您不要介意。3个开盘跳水,但只有1个收盘跳水?你的HTML代码应该被编辑。你能提供一个我建议稍微改变你的方法:在你的HTML中有两个链接图像,但其中一个设置为
display:none代码>(或不通过类显示)。然后单击,通过CSS(-class)切换它们的可见性。这比JS中的魔法值更清晰、更易于维护。@robinhuang我给你写了一个答案,请检查并告诉我它回答了你的问题?好的,我有点明白了。因此,第一次,该类不存在,因此它将切换图像。第二次,图像将具有类,因此它将停止。我应该在哪里添加链接?我现在只有一个HTML,所以我应该再写一个吗?@robinhuang谢谢你的回复,如果我解释得不够好,我很抱歉。您只需将您的链接放入#slick toggle
链接的href
。第一次单击时,您使用的是return false
,这会阻止href工作,第二次它应该可以工作。您是天才。这非常有效。非常感谢你!!