使用& lt; img>图像作为另一个元素的背景
Use <img> image as background of another element
JS尝试
function preview(element) {
var x = document.getElementById("photos").getElementsByTagName("LI");
var nodes = document.getElementById(element).childNodes;
for (i=0; i<x.length; i++){
x[i].style.width = "10vw";
x[i].style.height = "10vw";
}
document.getElementById('previewBox').style.background = nodes[0];
viewClose();
}
HTML <ul id = "photos">
<li onclick="preview('pic1')" id = "pic1">
<img src = "https://38.media.tumblr.com/d88beaf3fe2964af04e8b3d57aa32e97/tumblr_n9gnc0n0Gu1tgkx81o1_1280.jpg">
</li>
</ul>
CSS #photos li {
width: 100%;
display: inline-block;
}
#photos li{
float: left;
width: 18vw;
height: 18vw;
margin: 1.03vw;
overflow: hidden;
background: black;
}
#photos li > img{
position: relative;
bottom: 10px;
/*-webkit-background-size: cover center center;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover center center;*/
width: 140%;
}
#previewBox{
width: 90vw;
height: 50vw;
}
我想要的:
将li
中的img
作为#previewBox
的背景。似乎没有什么真的有效,我试了很多。(我理解节点必须有一个循环或子号)。还有其他方法吗?我学过HTML, CSS, Javascript语言,没有学过jquery
使用.children
而不是childNodes
来跳过文本节点,否则您将无法获得您所追求的img
,您将获得文本节点。
img
的源,而不是元素本身。你需要用url('')
:
来包装它function preview(element) {
var x = document.getElementById("photos").getElementsByTagName("LI");
var nodes = document.getElementById(element).children;
for (i=0; i<x.length; i++) {
x[i].style.width = "10vw";
x[i].style.height = "10vw";
}
document.getElementById('previewBox').style.backgroundImage = "url('" + nodes[0].src + "')";
viewClose();
}
示例:http://codepen.io/paulroub/pen/lokFh
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 按我自己的类克隆另一个元素的内容和顺序
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- jquery从另一个元素中移除移除
- DIV怎么能像Javascript中的另一个元素一样工作呢
- 使用数据属性将HTML数据复制到另一个元素
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- 在类JavaScript选择的另一个元素中选择一个标记元素
- 只要存在,就用另一个元素替换一个元素
- 初学者反应查询(如何删除一个元素并附加另一个元素)
- 将jquery ui窗口的父元素设置为另一个元素
- 如何激活下拉菜单:在一个元素上单击768px宽度下方,在另一个元素上将鼠标悬停在768px上方
- Pixijs将元素附加到另一个元素
- JavaScript:将输入范围行为链接到另一个元素
- 如何使用元素's属性值,以针对jQuery中具有相同属性值的另一个元素
- angularjs阵列拼接到另一个元素
- 另一个元素JAVAscript中的元素位置
- 当鼠标也在触摸另一个元素时,d3.js鼠标悬停事件未被触发
- 将元素的可见性绑定到另一个元素