使用css和jquery突出显示产品功能图像
Highlight product features image with css and jquery
我正在创建一个产品功能页面,突出显示图像的区域和相应的描述。我选择使用div与绝对定位,而不是一个图像映射。我有页面工作,但我的jquery是缺乏的,我想知道最好的方式来写下面的脚本?
$(document).ready(function(){
$('#feature_1').mouseover(function(){
$(this).find('.features_heading').css('color', '#CE4125');
$('#feature_1_highlight').css('display', 'inherit');
});
$('#feature_1').mouseout(function(){
$(this).find('.features_heading').css('color','#56534F');
$('#feature_1_highlight').css('display', 'none');
});
$('#feature_2').mouseover(function(){
$(this).find('.features_heading').css('color', '#CE4125');
$('#feature_2_highlight').css('display', 'inherit');
});
$('#feature_2').mouseout(function(){
$(this).find('.features_heading').css('color','#56534F');
$('#feature_2_highlight').css('display', 'none');
});
$('#feature_3').mouseover(function(){
$(this).find('.features_heading').css('color', '#CE4125');
$('#feature_3_highlight').css('display', 'inherit');
});
$('#feature_3').mouseout(function(){
$(this).find('.features_heading').css('color','#56534F');
$('#feature_3_highlight').css('display', 'none');
});
$('#feature_4').mouseover(function(){
$(this).find('.features_heading').css('color', '#CE4125');
$('#feature_4_highlight').css('display', 'inherit');
});
$('#feature_4').mouseout(function(){
$(this).find('.features_heading').css('color','#56534F');
$('#feature_4_highlight').css('display', 'none');
});
$('#feature_5').mouseover(function(){
$(this).find('.features_heading').css('color', '#CE4125');
$('#feature_5_highlight').css('display', 'inherit');
});
$('#feature_5').mouseout(function(){
$(this).find('.features_heading').css('color','#56534F');
$('#feature_5_highlight').css('display', 'none');
});
$('#feature_6').mouseover(function(){
$(this).find('.features_heading').css('color', '#CE4125');
$('#feature_6_highlight').css('display', 'inherit');
});
$('#feature_6').mouseout(function(){
$(this).find('.features_heading').css('color','#56534F');
$('#feature_6_highlight').css('display', 'none');
});
});
.features_left, .woocommerce .features_right {
width:295px;
height:380px;
float:left;
margin-bottom:30px;
}
.features_heading {
text-transform:uppercase;
font-weight:800;
font-size:.8em;
width:100%;
padding-bottom:5px;
}
.features_desc {
font-size:.8em;
width:100%;
padding-bottom:45px;
line-height:1.5;
}
.features_image {
width:380px;
height:380px;
float:left;
margin:0 20px;
position:relative;
}
.features_image img{
width:380px;
}
.feature_highlight {
position:absolute;
width: 40px;
height: 40px;
background: rgba(206,65,37,0.50);
border:4px solid #CE4125;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
border-radius: 20px;
z-index:10;
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="features_left">
<div id="feature_1">
<div class="features_heading highlight">Title 1</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
<div id="feature_3">
<div class="features_heading">Title 3</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
<div id="feature_5">
<div class="features_heading">Title 5</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
</div>
<div class="features_image">
<img src="http://lorempixel.com/300/300/technics" >
<div id="feature_1_highlight" class="feature_highlight" style="top:50px; left:50px;"></div>
<div id="feature_2_highlight" class="feature_highlight" style="top:150px; left:100px;"></div>
<div id="feature_3_highlight" class="feature_highlight" style="top:200px; left:50px;"></div>
<div id="feature_4_highlight" class="feature_highlight" style="top:250px; left:150px;"></div>
<div id="feature_5_highlight" class="feature_highlight" style="top:50px; left:200px;"></div>
<div id="feature_6_highlight" class="feature_highlight" style="top:150px; left:150px;"></div>
</div>
<div class="features_right">
<div id="feature_2">
<div class="features_heading">Title 2</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
<div id="feature_4">
<div class="features_heading">Title 3</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
<div id="feature_6">
<div class="features_heading">Title 4</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
</div>
我包括了HTML和CSS作为参考。最好全屏观看。(图像是随机生成的,所以谁知道你会得到什么!)
因为,当鼠标悬停时,你想突出显示一个特定的特性,并且你知道哪个元素应该突出显示哪个特性。我将添加目标功能的id作为数据属性的一部分,像这样
<div class="features_left">
<div class="feature" data-highlight="#feature_1_highlight">
<div class="features_heading highlight">Title 1</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
<div class="feature" data-highlight="#feature_2_highlight">
<div class="features_heading">Title 3</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
<div class="feature" data-highlight="#feature_3_highlight">
<div class="features_heading">Title 5</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
</div>
<div class="features_image">
<img src="http://lorempixel.com/300/300/technics" >
<div id="feature_1_highlight" class="feature_highlight" style="top:50px; left:50px;"></div>
<div id="feature_2_highlight" class="feature_highlight" style="top:150px; left:100px;"></div>
<div id="feature_3_highlight" class="feature_highlight" style="top:200px; left:50px;"></div>
<div id="feature_4_highlight" class="feature_highlight" style="top:250px; left:150px;"></div>
<div id="feature_5_highlight" class="feature_highlight" style="top:50px; left:200px;"></div>
<div id="feature_6_highlight" class="feature_highlight" style="top:150px; left:150px;"></div>
</div>
<div class="features_right">
<div class="feature" data-highlight="#feature_4_highlight">
<div class="features_heading">Title 2</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
<div class="feature" data-highlight="#feature_5_highlight">
<div class="features_heading">Title 3</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
<div class="feature" data-highlight="#feature_6_highlight">
<div class="features_heading">Title 4</div>
<div class="features_desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>
</div>
</div>
现在我的javascript是这样的
$(document).ready(function(){
$('.feature').mouseover(function(){
$(this).find('.features_heading').css('color', '#CE4125');
$($(this).attr("data-highlight")).css('display', 'inherit');
}).mouseout(function(){
$(this).find('.features_heading').css('color','#56534F');
$($(this).attr("data-highlight")).css('display', 'none');
});
});
JSFiddle
相关文章:
- 为图像滑块jquery添加项目符号功能
- 使用JavaScript功能切换图像位置
- 单击水平滚动库中的图像以居中显示无法工作的功能
- AngularJS:为ng-repeat中的图像添加切换功能
- 如何在保持鼠标悬停功能的同时居中跨过图像
- 这个图像加载功能有什么作用
- 图像上传功能将++(+1)副本添加到下一次上传.出了什么问题或如何重置“选定图像”
- 将复选框转换为图像,需要添加拖动功能才能更改图像
- 本地存储功能中的图像不起作用
- 利用移动设备上的滑动功能浏览图像阵列
- 无法使用ajax序列化功能将图像插入数据库
- 如何预加载这些图像以使此功能更平滑
- 功能范围外的图像参考问题
- 如何使用上一个/下一个功能循环数组中的图像
- jQuery预加载图像功能
- 图像搜索功能
- 如何在功能完成后重置图像
- 将 SVG 转换为图像时画布到 URL 功能出现问题
- 使用功能更改文本并包含项目符号图像
- 使用css和jquery突出显示产品功能图像