Jquery 在图像之间切换

标签 jquery css html

我正在尝试用 HTML、css 和 jQuery 制作一个常见问题解答页面。 我想在打开问题时旋转我的箭头,并在单击另一个问题时将其旋转回来。我设法用 <p> 做到了标签,但我现在在处理图像时遇到了麻烦。 有人知道怎么做吗?

这是我写的代码:http://jsfiddle.net/jmex1p5g/62/

   $(document).ready(function(){
  var $li_p = $('ul[class="questions"] li').children('p');
  var $li_a = $('ul[class="questions"] li').children('a');
  if($li_p.slideToggle().toggleClass('closed')){
    $li_p.hide();
  }
    $('ul[class="questions"] li').click(function() {
       var ullist = $(this).children('p:first');
       ullist.slideToggle().toggleClass('closed');

        var isVisible = ullist.is(".closed");
        var siblings = $(this).siblings('li');
        $.each(siblings, function (i, key) {
          if ($(key).find('a').hasClass('icon_minus')) {         
              var sibling = $(key).children('p:first');
              $(sibling).slideToggle().addClass('closed');
            $(key).find('a').removeClass('icon_minus').addClass('icon_plus');
          }
        });


      var img_icon = $(this).children('a');
      var image = $(this).children('span');

      var realimage = $(image).children('img');
      if (isVisible === true){
            img_icon.removeClass('icon_minus').addClass('icon_plus');
            realimage.removeClass('rotate');
            $(this).siblings('img').removeClass('rotate');
      } else {
            img_icon.removeClass('icon_plus').addClass('icon_minus');
            realimage.addClass('rotate');
      }
    });
  }); 

最佳答案

我编辑了你的 fiddle :http://jsfiddle.net/jmex1p5g/63/

基本上,在将它添加到所选图像之前,您应该从所有图像中删除 rotate 类。这是一种常见的做法。

遵循相关代码:

$('ul[class="questions"] li').click(function() {
   // ...
   // code
   // ...

  var img_icon = $(this).children('a');
  var image = $(this).children('span');

  var realimage = $(image).children('img');
  if (isVisible === true){
        img_icon.removeClass('icon_minus').addClass('icon_plus');
        $('li.question img').removeClass('rotate');
        realimage.toggleClass('rotate');
  } else {
        img_icon.removeClass('icon_plus').addClass('icon_minus');
        $('li.question img').removeClass('rotate');
        realimage.toggleClass('rotate');
  }
});

  //... 
  //the rest of code

关于Jquery 在图像之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36184586/

相关文章:

javascript - 附加到容器底部(不是代码末尾)

html - 将 2 个 50% 宽度的输入元素排成一行,理解框大小

html - 带有 w3css 框架的 Wordpress 导航

html - 没有垂直单元格边框的 TABLE

javascript - 从外部js文件获取变量

javascript - 在 ASP.NET MVC 应用程序中进行 Ajax 调用并返回 bool 值

php - jQuery .next() 在表中时

javascript - 如何每次删除4个字符得到一个字符串的所有组合?

php - 将 PHP 回显到 JS 变量会阻止脚本的其余部分执行吗?

html - 尝试创建一个漫画书页面