使用javascript onclick下拉菜单进行图像交换
Image swap with a javascript onclick dropdown menu
所以我得到了这个代码,它有一个图像,当你点击它时,会出现一个下拉菜单。很简单。代码运行良好,但我正在尝试在点击时加入图像交换,我遇到了困难。这是HTML和JS(也有一些CSS,但我将忽略不计):
HTML:
<div id="header">
<dl class="dropdown">
<dt><a href="#"><img src="images/cogwheel_btn.png"/></a></dt>
<dd>
<ul>
<li><a href="#">Favorites</a></li>
<li><a href="#">History</a></li>
</ul>
</dd>
</dl>
</div>
JS:
$(document).ready(function() {
$(".dropdown dt a").click(function() {
$(".dropdown dd ul").toggle();
});
$(".dropdown dd ul li a").click(function() {
var text = $(this).html();
$(".dropdown dt a span").html(text);
$(".dropdown dd ul").hide();
$("#result").html("Selected value is: " + getSelectedValue("sample"));
});
function getSelectedValue(id) {
return $("#" + id).find("dt a span.value").html();
}
$(document).bind('click', function(e) {
var $clicked = $(e.target);
if (! $clicked.parents().hasClass("dropdown"))
$(".dropdown dd ul").hide();
});
});
我试着添加了一些行,比如("dt").empty();然后是("dt").html("new_image"),但这会导致下拉功能停止工作。有什么想法吗?
我想您会想要更新图像的src属性-
你可以在下拉列表中找到这样的图像:
$('.dropdown dt img')
然后更新src属性
$('.dropdown dt img').attr('src', '/newimage.jpg');
我怀疑你会想在点击功能中这样做:
$(".dropdown dt a").click(function() {
$(".dropdown dd ul").toggle();
$('.dropdown dt img').attr('src', '/newimage.jpg');
});
请注意,如果希望它打开/关闭,可以使用.is(':visible')
检查来检查ul
元素的可见性。或者更好的方法是,将图像替换为div,并使用更改为toggleClass()
的背景图像。
我已经在JSFiddle上创建了代码。只要检查一下你是否希望它这样表现:
http://jsfiddle.net/3L3At/2/
相关文章:
- 使用javascript onclick下拉菜单进行图像交换
- 用较大的图像交换缩略图
- Javascript中的图像交换
- 打开和关闭的图像交换未在正确的时间更改
- 创建随机图像交换并禁止鼠标悬停事件
- Javascript内存游戏-图像交换
- 链路翻转时的 DIV 背景图像交换
- 弗兰肯斯坦图像交换JavaScript需要整洁和可能的自动化
- 如何在滑块中使用比较浏览器窗口大小的函数将图像交换到另一个图像
- JavaScript 鼠标悬停图像交换问题
- 图像交换单击jquery,3张图像
- 使用 JQuery 进行图像交换之间的定时转换
- 从固定的服务器时间启动图像交换JavaScript
- 如何使用表单和javascript进行图像交换
- 图像交换在Firefox中不起作用,但在Chrome和IE中有效
- 尝试将随机图像与其他随机图像交换
- OO Javascript 调试 - 使用传输进行图像交换
- jQuery图像交换if-else语句不起作用
- chrome扩展弹出窗口中的图像交换
- Javascript图像交换是't工作