javascript - 如何停止 jquery 代码中的重复?

标签 javascript jquery

我正在尝试制作一个图像库,但我的代码包含很多重复。你们中有人知道如何让这项工作变得更好吗?

这是代码示例

HTML

<div id="wrapper">
    <div id="buttoncont">
        <button id="all" type="button">All</button>
        <button id="dog" type="button">Dog</button>
        <button id="cat" type="button">Cat</button>
    </div>
    <img class="cat_img" src="http://upload.wikimedia.org/wikipedia/commons/2/22/Turkish_Van_Cat.jpg" />
    <img class="dog_img" src="http://upload.wikimedia.org/wikipedia/commons/2/26/YellowLabradorLooking_new.jpg" />
</div>

JS

 $("#cat").click(function () {
     $("img.dog_img").hide();
     $("img.cat_img").show();
 });
 $("#dog").click(function () {
     $("img.cat_img").hide();
     $("img.dog_img").show();
 });
 $("#all").click(function () {
     $(".cat_img, .dog_img").show();

 });

最佳答案

首先:您需要设置默认选择以使切换按预期工作。

使用CSS类将div分成一组(类)并将事件绑定(bind)到它,请参阅HTML:

<div id="wrapper">
    <div id="buttoncont">
        <button id="all" type="button">All</button>
        <button class=toggle id="dog" type="button">Dog</button>
        <button class=toggle id="cat" type="button">Cat</button>
    </div>
    <img class="cat_img" src="http://upload.wikimedia.org/wikipedia/commons/2/22/Turkish_Van_Cat.jpg" />
    <img class="dog_img" src="http://upload.wikimedia.org/wikipedia/commons/2/26/YellowLabradorLooking_new.jpg" />
</div>

在 Javascript 代码中,执行一个函数来为您执行此操作并使用 jQuery Toggle:

 function toggleImg(){
   $('img.dog_img').toggle();
   $('img.cat_img').toggle();
 }
 $(".toggle").click(function () {
   toggleImg();
 });
 $("#all").click(function () {
   $(".cat_img, .dog_img").show();
 });

但是在页面的 onLoad 事件上切换其中之一,使其成为默认选择,这样切换这两个,始终只有一个可见。

$('html').ready(function(){    
  $('img.cat_img').toggle();
});

关于javascript - 如何停止 jquery 代码中的重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21260002/

相关文章:

javascript - 如何 React 组件扩展所有传递的属性?

javascript - 导航中两个元素的背景颜色

javascript - 函数在 .animation left 属性中不起作用

当新行添加到数据库时,Javascript 发出警报

javascript - 使用 $(parent.window).height()

javascript - 调整页面内容的大小以适合一个打印页面

javascript - 在 Angular 中,我如何在启动前从服务器获取 Bootstrap 数据?

javascript - 如何处理音频流

javascript - 检查重复事件是否在当前日期到期

javascript - nouislider 自定义步骤,单次拖动