我目前正在为一个调查项目工作。我在一些调查中看过图像问题。 我想在我的项目中实现它。所以我想到了这个。
这是我的代码。
<div id="image1" onclick="Imagecheckbox(this);">
<img src="https://www.google.co.in/images/srpr/logo3w.png" alt="Image not found" />
</div>
<div id="image2" onclick="Imagecheckbox(this);">
<img src="https://www.google.co.in/images/srpr/logo3w.png" alt="Image not found" />
</div>
<div id="image3" onclick="Imagecheckbox(this);">
<img src="https://www.google.co.in/images/srpr/logo3w.png" alt="Image not found" />
</div>
所以当我点击任何图像时,我想展示一些像这样的东西。
所以我动态创建一个div并附加到此。但它不起作用。 这是我的代码。
function Imagecheckbox(div) {
var clickeddiv = $('#' + div.id);
$("<div id='mydiv' style='background:yellow;z-index:1;height:100;width:100;align:right;vertical-align:bottom;etc...'></div>").appendTo($(clickeddiv));
}
我该怎么做? 感谢。
答案 0 :(得分:1)
首先,避免使用onclick
属性。如果您已经在页面上包含了jQuery,那么您也可以充分利用它。
要实现此目的,您需要将position: relative;
添加到包含图片的div
元素,并position: absolute
添加到包含标记的div
。
HTML
<div id="images">
<div>
<img src="https://www.google.co.in/images/srpr/logo3w.png" alt="Image not found" />
</div>
<div>
<img src="https://www.google.co.in/images/srpr/logo3w.png" alt="Image not found" />
</div>
<div>
<img src="https://www.google.co.in/images/srpr/logo3w.png" alt="Image not found" />
</div>
</div>
的jQuery
var $tick = $("<div />").addClass("tick");
$("#images div").click(function() {
if ($(this).find(".tick").length) {
$(this).find(".tick").remove();
}
else {
$(this).append($tick);
}
});
CSS
#images div {
position: relative;
}
#images div .tick {
background-image: url('tick.gif');
bottom: 0;
right: 0;
width: 25px; /* amend as needed */
height: 25px; /* amend as needed */
position: absolute;
}
答案 1 :(得分:0)
试试这个:
function Imagecheckbox(div) {
var clickeddiv = $('#' + $(div).attr('id'));
$("<div id='mydiv' style='background:yellow;z-index:1;height:100;width:100;align:right;vertical-align:bottom;etc...'></div>").appendTo($(clickeddiv));
}
答案 2 :(得分:0)
无需在每次点击时使用jQuery创建和删除元素:您可以获得与假元素相同的效果,例如。
<强> HTML 强>
<div id="images">
<div id="image1">
<img src="https://www.google.co.in/images/srpr/logo3w.png">
</div>
<div id="image2">
<img src="https://www.google.co.in/images/srpr/logo3w.png">
</div>
...
</div>
<强>的jQuery 强>
(只有toggleClass()
以及父元素上的事件委托,因此您将避免为每个div
附加处理程序
$('#images').on('click', 'div', function() {
$(this).toggleClass('selected');
});
<强> CSS 强>
#images > div.selected {
position : relative;
z-index : 1;
}
#images > div.selected:after {
content : "";
position : absolute;
right : 0;
bottom : 0;
width : ...;
height : ...;
background : url(selected-tick.gif) center center no-repeat;
}
伪元素适用于所有现代浏览器,甚至适用于IE8+