gpt4 book ai didi

jquery-selectors - 使用 JQuery 选择 "this"的父元素(元素点击)

转载 作者:行者123 更新时间:2023-12-03 15:19:55 27 4
gpt4 key购买 nike

我有一个 jQuery 脚本,它创建一个轮播以在用户单击时左右旋转图像。起初,我不打算在一个页面上放置多个轮播,但现在需求已经到来。

问题是,当用户单击按钮时,我不知道如何引用一个轮播(单击的那个)。

这是脚本

$(function()
{
// Put last item before first item, in case user clicks left
$('.carousel li:first').before($('.carousel li:last'));

// Right click handler
$('.right-button img').click(function()
{
// Get width plus margins
var item_width = $('.carousel li').outerWidth() + (2 * parseInt($('.carousel li').css('margin-right')));

// Get left indent
var orig_left_indent = $('.carousel').css('left');

// Calculate new left indent
var left_indent = parseInt(orig_left_indent) - item_width;

$('.carousel:not(:animated)').animate({'left': left_indent}, 500, 'swing', function()
{
// Put first item after last item
$('.carousel li:last').after($('.carousel li:first'));

// Set left indent to default
$('.carousel').css({'left': orig_left_indent});
});
});

// Left click handler
$('.left-button img').click(function()
{
// Get width plus margins
var item_width = $('.carousel li').outerWidth() + (2 * parseInt($('.carousel li').css('margin-right')));

// Get left indent
var orig_left_indent = $('.carousel').css('left');

// Calculate new left indent
var left_indent = parseInt(orig_left_indent) + item_width;

$('.carousel:not(:animated)').animate({'left': left_indent}, 500, 'swing', function()
{
// Put last item before first item
$('.carousel li:first').before($('.carousel li:last'));

// Set left indent to default
$('.carousel').css({'left': orig_left_indent});
});
});

// Close button handler
$('.carousel-container .close-button img').click(function()
{
$('.carousel-container').fadeOut(1000);
});
});

到目前为止,当您在任何轮播上单击右或左时,它们都会移动。我不知道如何获得对单击的轮播的引用。

继承人的HTML
<div class="carousel-container clearfix">
<div class="header close-button">
<strong>Check These Out</strong>
<?php echo html::image('media/images/close.gif'); ?></div>
<div class="left-button"><?php echo html::image('media/images/left_arrow.png'); ?></div>
<div class="carousel-inner">
<ul class="carousel">
<?php foreach ($items as $item): ?>
<li> ... </li>
<?php endforeach; ?>
</ul>
</div>
<div class="right-button"><?php echo html::image('media/images/right_arrow.png'); ?></div>
</div>

我将如何实现这一点,我不知道如何引用用户单击的轮播,因为箭头是轮播的子元素。

编辑:感谢您的回答。 carousel = $(this).parent()工作,但我如何检查轮播是否 :animated 使用选择器和新的轮播变量?

$(':animated', carousel) ?

最佳答案

在事件处理程序内部,变量:
$(this)
将为您提供调用元素。从那里,要获取包含的 div,您可以使用 parent() 函数:
$(this).parent()
使用它来遍历 DOM。

关于jquery-selectors - 使用 JQuery 选择 "this"的父元素(元素点击),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119529/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com