具有特定数据属性的目标元素
Target element with certain data attribute
我不知道如何针对具有特定数据属性的元素。在我的情况下,a
与class="zoom-image"
和data-order-item-id="<?=$order_item_id ?>"
。
html.php如下(此代码处于循环中,将重复多次):
<div class="history_image">
<img src="<?= $order_image ?>" alt="Image of product">
<a href="javascript:void(0)" class="zoom-image" data-order-item-id="<?=$order_item_id ?>">
<span class="trans_top"><?= lang('view')?></span>
<span class="trans_bottom"></span>
</a>
<div id="zoom-image-holder-<?=$order_item_id ?>" class="zoom-image-holder hidden">
<img src="<?= $order_image_full?>" alt="Image of product">
</div>
</div>
我的js适用于一个,但当你有多个js时,它适用于所有js。我只需要以悬停的a
为目标,并使用data-order-item-id="<?=$order_item_id ?>
作为参考点(我认为)。js所做的基本上是添加淡入淡出,并为一些链接设置动画:
function hoverFadeIn()
{
zoomId = $(this).data("order-item-id");
var holderHeight = ($(this).height());
var transRatio = 0.7;
transValue = holderHeight * transRatio;
transValueTop = transValue+'px';
transValueBottom = '-'+transValue+'px';
$(this).animate({
backgroundColor: 'rgba(0,0,0,0.6)',
}, 300, function() {
// Animation complete.
});
$('.trans_top').animate({
transform: 'translateY('+transValueTop+')'
});
$('.trans_bottom').animate({
transform: 'translateY('+transValueBottom+')'
});
}
function hoverFadeOut()
{
$(this).animate({
backgroundColor: 'rgba(0,0,0,0)',
}, 300, function() {
// Animation complete.
});
$('.trans_top').animate({
transform: 'translateY(0px)'
});
$('.trans_bottom').animate({
transform: 'translateY(0px)'
});
}
$(document).ready(function() {
var zoomId = 0 ;
$(".zoom-image").click(function() {
zoomId = $(this).data("order-item-id");
$("#zoom-image-holder-"+zoomId).dialog(opt).dialog("open");
});
$(".ui-widget-overlay").live("click", function() { $("#zoom-image-holder-"+zoomId).dialog("close"); } );
$(".zoom-image").hoverIntent( hoverFadeIn, hoverFadeOut );
});
我确信$(this).animate
需要更改,也只应用
$('.trans_top').animate({
transform: 'translateY('+transValueTop+')'
});
$('.trans_bottom').animate({
transform: 'translateY('+transValueBottom+')'
});
到当前悬停的div
$("a[data-order-item-id].zoom-image").click(function () {
zoomId = $(this).data("order-item-id");
$("#zoom-image-holder-" + zoomId).dialog(opt).dialog("open");
});
这将仅针对类别为.zoom-image
且包含data-order-item-id
的a
相关文章:
- 内容以其开头的目标元素
- 在 Jquery 中获取目标元素的属性
- 使用next()的jQuery目标元素不起作用
- 无法让悬停事件使用 jQuery UI 持续时间参数或 CSS 处理目标元素的同级元素
- 在 jquery not 选择器中具有 2 个类的目标元素
- 目标元素边缘的触摸启动会导致鼠标按下
- 具有 ID AND 类的 jQuery 选择器目标元素不起作用
- 如何在结构中获取目标元素的属性值.js
- 获取将被鼠标悬停的目标元素
- om/react:操作呈现目标元素之外的元素
- 具有不同 id 的目标元素 Jquery
- 如何动态更改基于目标元素的绝对工具提示的位置
- 目标元素由 attr 然后附加类 jQuery
- 多个语义 UI 弹出窗口,其中目标元素在每个实例的 atribute 中定义
- 对 HTML 列表进行排序,然后对目标元素进行排序
- 无法获取目标元素
- TinyMCE 编辑器中的目标元素
- 脚本 600:此操作的目标元素无效.(仅限 IE)
- 突出显示定位点的目标元素内的元素
- 单击即可动态更改目标元素