【问题标题】:jquery check and change div width when clickjquery在单击时检查并更改div宽度
【发布时间】:2012-12-07 18:29:58
【问题描述】:

我在一个 DIV 中有一些图像,带有一个水平滚动条 (jscrollpane)。

我首先获取所有图像的宽度并将该宽度分配给容器,但我想制作一个按钮来更改照片的高度(400px/600px)。当我单击按钮更改高度时,我还需要重新计算所有图像的宽度 - 这就是我的问题。

我的代码中的什么被破坏来计算图像的宽度并将其分配给 div?

我的代码:

$(window).load(function(){
  $('.minus-button').click(function() {
  //alert('clicked');
    $(".scroll-content-item img, .scroll-content-item, .jspContainer").css('height', 200);
    $('.scroll-content').each(function(){
      var wrapper = $(this);
      var wrapperWidth = 0;

      wrapper.find('.scroll-content-item img').each(function(){
         wrapperWidth += $(this).outerWidth(true);
      });

      wrapper.css('width', wrapperWidth);
    });
 });
 });

有什么想法吗?谢谢你! 链接:http://bit.ly/TJaqC6

【问题讨论】:

  • 请缩进以便阅读。

标签: jquery jquery-ui width jscrollpane


【解决方案1】:

也许这个,img 没有 scroll-content-item 类,所以这将选择所有的 img 的父类具有 scroll-content-item http://api.jquery.com/child-selector/

wrapper.find('.scroll-content-item > img').each(function(){
         wrapperWidth += $(this).outerWidth(true);

【讨论】:

  • 仍然没有获得新的宽度,从网站加载时获得相同的宽度。
  • 我认为您正在正确计算宽度,我认为您需要通知 js-scrollpane 宽度的变化。它不会自动获取更改。查看示例,其中显示了如何在容器更改其宽度时重新初始化它:jscrollpane.kelvinluck.com/#examples
  • mm 你说得对,找到了用 ajax 的,但我不太明白,因为我不太擅长它,但会尝试一下。谢谢!
猜你喜欢
  • 2014-10-10
  • 2015-05-09
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多