首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jQuery将背景图像url从一个div传递到另一个div?

如何使用jQuery将背景图像url从一个div传递到另一个div?
EN

Stack Overflow用户
提问于 2016-03-16 05:15:17
回答 3查看 850关注 0票数 0

我有一套div,当被选中时,打开一个模态窗口。我希望模态窗口的背景图像url被传递到从div选择打开它。

下面是div和模态窗口的html:

代码语言:javascript
复制
  <div class="cover-item" style="background-image: url('https://d1nexqccu6ll7z.cloudfront.net/_images/s-14-197-61462CCC-uk.png')"></div>
  <div class="cover-item" style="background-image: url('https://d1nexqccu6ll7z.cloudfront.net/_images/s-14-1177-64ACF6EA-uk.png')"></div>
  <div class="cover-item" style="background-image: url('https://d1nexqccu6ll7z.cloudfront.net/_images/s-14-1195-057710EE-uk.png')"></div>

  <div class="modal-window"></div>

CSS最初用于隐藏模态,然后在调用时显示它:

代码语言:javascript
复制
.modal-window //hide it out the viewport initially {
  -webkit-transform: translate(-50%, -200%);
  -ms-transform: translate(-50%, -200%);
  transform: translate(-50%, -200%);

   background-image: url(/* want to dynamically set this */)

  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;
}

.modal-window-open //reveal it {
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

我使用的jQuery只用于在选择div时打开模式窗口:

代码语言:javascript
复制
 $('.cover-item').on('click', function() {
      $('.modal-window').toggleClass('modal-window-open');
  });

现在如何让特定的.cover-item div在被选中时将其背景图像url传递到模态窗口?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-16 05:22:45

代码语言:javascript
复制
Try following code    
$('.cover-item').on('click', function() {
          var bg = $(this).css('background-image');
          $('.modal-window').toggleClass('modal-window-open');
          $('.modal-window').css("background-image", bg);  
      });
票数 2
EN

Stack Overflow用户

发布于 2016-03-16 05:19:09

使用html()this的组合

代码语言:javascript
复制
$('.cover-item').on('click', function() {
      $('.modal-window').html($(this));
      $('.modal-window').toggleClass('modal-window-open');

  });
票数 1
EN

Stack Overflow用户

发布于 2016-03-16 05:48:06

我猜您需要将onclick侦听器添加到div本身,并将div对象的引用传递给您调用的函数。就像这样:

最后,将背景设置为JS中的. background div:

代码语言:javascript
复制
var setBackground = function (divObject) {
    $('.modal-window').toggleClass('modal-window-open');
    //Dynamically sets BG image
    $('.modal-window').css('background-image', divObject.style.backgroundImage);
};

不过,还没有测试过你的风格。但是上面的例子很好,只要设置div的高度和宽度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36027314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档