Javascript 通过切换使图像显示在另一个div onclick上
我试图能够点击一个特定的方块,并得到一个复选标记,显示在它上面。我想让它有一个切换效果,但我想尝试至少让复选标记显示出来,我真的有一个问题,让它甚至出现 我做错了什么Javascript 通过切换使图像显示在另一个div onclick上,javascript,jquery,css,onclick,Javascript,Jquery,Css,Onclick,我试图能够点击一个特定的方块,并得到一个复选标记,显示在它上面。我想让它有一个切换效果,但我想尝试至少让复选标记显示出来,我真的有一个问题,让它甚至出现 我做错了什么 $('.package img')。单击(函数(){ //target.innerHTML=''; $('.package img')。前置('') }); .package img{ 宽度:60%; 高度:自动; 不透明度:1; 左缘:20%; 光标:指针; 转换:1s;-webkit转换:1s; 位置:相对位置; } #日历
$('.package img')。单击(函数(){
//target.innerHTML='';
$('.package img')。前置('')
});代码>
.package img{
宽度:60%;
高度:自动;
不透明度:1;
左缘:20%;
光标:指针;
转换:1s;-webkit转换:1s;
位置:相对位置;
}
#日历换行,#tp换行{
宽度:100%;
位置:相对位置;
}
.复选标记img{
宽度:50%;
身高:50%;
z指数:1;
}
包1
方案2
使用before
方法而不是prepend
,否则您的图像将被添加到另一个图像中。也要使用$(此)。在…
之前,否则您的复选标记将添加到带有classpackage img
$(this).before('<img src="https://d30y9cdsu7xlg0.cloudfront.net/png/835-200.png" class="checkmark-img">')
包1
方案2
使用before
方法而不是prepend
,否则您的图像将被添加到另一个图像中。也要使用$(此)。在…
之前,否则您的复选标记将添加到带有classpackage img
$(this).before('<img src="https://d30y9cdsu7xlg0.cloudfront.net/png/835-200.png" class="checkmark-img">')
包1
方案2
了解您的需求。基本上,当你点击复选框时,你可以在复选框上“切换”复选框图像。问题是,一旦你把复选标记放在方块上,开关就不起作用了。我已经想出了一个解决办法,应该会更好一些
基本上,如果我们利用以下规则,即当选择绑定到
的标签时,这将切换复选框的选中的属性
然后我们可以在jQuery中绑定到此事件并显示\隐藏复选标记。在本例中,我们不将任何单击事件绑定到图像,而是将复选框的change
事件绑定到图像。类似下面的例子
现在的问题是:
为什么我要使用复选框
通过使用复选框,我们可以在表单帖子中捕获结果。它还可以通过枚举所有选中了属性的复选框来轻松识别要选中的内容
要将其发送到您的服务器,您需要在每个复选框中添加名称
属性,并设置值
属性
$('.calendar check')。在('change',function()上{
if($(this.prop('checked'))
$(this).parents('.calendar wrap:first').find('.checkmark img').show();
其他的
$(this).parents('.calendar wrap:first').find('.checkmark img').hide();
});代码>
.package img{
宽度:60%;
高度:自动;
不透明度:1;
左缘:20%;
光标:指针;
过渡:1s;
-webkit转换:1s;
位置:相对位置;
}
#日历包装,
#tp包装{
宽度:100%;
位置:相对位置;
}
.复选标记img{
显示:无;
z指数:1;
位置:绝对位置;
最高:50%;
左:50%;
利润上限:-100px;
左边距:-100px;
}
.日历检查{
显示:无;
}
.包检查切换{
位置:相对位置;
身高:100%;
宽度:100%;
显示:块;
光标:指针;
}
包1
方案2
了解您的需求。基本上,当你点击复选框时,你可以在复选框上“切换”复选框图像。问题是,一旦你把复选标记放在方块上,开关就不起作用了。我已经想出了一个解决办法,应该会更好一些
基本上,如果我们利用以下规则,即当选择绑定到
的标签时,这将切换复选框的选中的属性
然后我们可以在jQuery中绑定到此事件并显示\隐藏复选标记。在本例中,我们不将任何单击事件绑定到图像,而是将复选框的change
事件绑定到图像。类似下面的例子
现在的问题是:
为什么我要使用复选框
通过使用复选框,我们可以在表单帖子中捕获结果。它还可以通过枚举所有选中了属性的复选框来轻松识别要选中的内容
要将其发送到您的服务器,您需要在每个复选框中添加名称
属性,并设置值
属性
$('.calendar check')。在('change',function()上{
if($(this.prop('checked'))
$(this).parents('.calendar wrap:first').find('.checkmark img').show();
其他的
$(this).parents('.calendar wrap:first').find('.checkmark img').hide();
});代码>
.package img{
宽度:60%;
高度:自动;
不透明度:1;
左缘:20%;
光标:指针;
过渡:1s;
-webkit转换:1s;
位置:相对位置;
}
#日历包装,
#tp包装{
宽度:100%;
位置:相对位置;
}
.复选标记img{
显示:无;
z指数:1;
位置:绝对位置;
最高:50%;
左:50%;
利润上限:-100px;
左边距:-100px;
}
.日历检查{
显示:无;
}
.包检查切换{
位置:相对位置;
身高:100%;
宽度:100%;
显示:块;
光标:指针;
}
包1
方案2
如果我们只删除方框图像并通过CSS创建它们,那么这可能会简单得多。下载的内容将会减少,我们可以使盒子的背景透明。这将允许我们只显示和隐藏已位于每个框后面的复选标记
$('.package img')。单击(函数(){
this.nextElementSibling.classList.toggle(“隐藏”);
});代码>
parent{p