Javascript 如何使用jquery更改动态内容的类名
在我的php文件中,我有一个代码部分,用于将所有jpg文件组成一个文件夹,并将它们放入img标记中Javascript 如何使用jquery更改动态内容的类名,javascript,php,jquery,html,Javascript,Php,Jquery,Html,在我的php文件中,我有一个代码部分,用于将所有jpg文件组成一个文件夹,并将它们放入img标记中 if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg') {
echo '<div class="image_slider"><img src ="' . $dir . $file . '"/></div>';
}
}
closedir($handle);
}
然后,对于要加载的其他图像,用户必须点击PRV或下一个链接
function next_img(){
$( ".image_slider img" ).closest().next( "active" );
}
但是这个功能不起作用。它不会将类“active”从第一个更改为第二个
我觉得我错过了什么。但是找不到它
谢谢您需要查找当前活动图像:
var $current = $('.image_slider .active');
($current
中的$in没有任何作用,它只是向其他开发人员显示$current
是或应该是jQuery对象)
删除其活动类
$current.removeClass('active');
然后获取当前图像父对象并向上(prev
)或向下(next
)DOM以获取下一个.image滑块元素
$next = $current.parent().next();
// OR
$next = $current.parent().prev();
如果$next存在(活动图像可能是最后一个图像),则为其指定活动类:
if ($next.length) {
$next.find('> img').addClass('active');
}
这些是基础,请随意改进逻辑以获得用户体验您需要找到当前活动图像:
var $current = $('.image_slider .active');
($current
中的$in没有任何作用,它只是向其他开发人员显示$current
是或应该是jQuery对象)
删除其活动类
$current.removeClass('active');
然后获取当前图像父对象并向上(prev
)或向下(next
)DOM以获取下一个.image滑块元素
$next = $current.parent().next();
// OR
$next = $current.parent().prev();
如果$next存在(活动图像可能是最后一个图像),则为其指定活动类:
if ($next.length) {
$next.find('> img').addClass('active');
}
这些是基础知识,请随意改进逻辑以获得用户体验
$(".active").removeClass("active").next("img").addClass("active");
试试这个
$(".active").removeClass("active").next("img").addClass("active");
您不需要调用closest()。请参阅,以快速了解您正在尝试执行的操作
var el = $("img.active");
el.next().addClass("active");
el.removeClass("active");
您不需要调用closest()。请参阅,以快速了解您正在尝试执行的操作
var el = $("img.active");
el.next().addClass("active");
el.removeClass("active");
我想增强您的代码,以便遵循
$s='';
$first=false;
$handle=@opendir($dir);
if ($handle) {
$s='<div class="image_slider">';
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg') {
$cls='';
if (!$first) {$cls='active'; $first=true;}
$s.='<img class="'.$cls.'" src ="' . $dir . $file . '"/>';
}
}
$s.='</div>';
closedir($handle);
}
else {
echo 'Error in reading image folder-or the dir doesnt exist!';
}
简单解释一下:
1-获取当前激活状态并将其保存在act
2-获取所有图像并存储在img
3-如果当前激活的是第一个或最后一个,则不执行任何操作
4-移除当前激活的一个。查找上一个/下一个项目并使其处于活动状态我想增强您的代码以便遵循
$s='';
$first=false;
$handle=@opendir($dir);
if ($handle) {
$s='<div class="image_slider">';
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg') {
$cls='';
if (!$first) {$cls='active'; $first=true;}
$s.='<img class="'.$cls.'" src ="' . $dir . $file . '"/>';
}
}
$s.='</div>';
closedir($handle);
}
else {
echo 'Error in reading image folder-or the dir doesnt exist!';
}
简单解释一下:
1-获取当前激活状态并将其保存在act
2-获取所有图像并存储在img
3-如果当前激活的是第一个或最后一个,则不执行任何操作
4-移除当前激活的一个。找到上一个/下一个项目并将其激活这不起作用。您需要在
removeClass
调用之后添加一个.parent()
,在下一个调用之后添加一个find('img')
!这行不通。您需要在removeClass
调用之后添加一个.parent()
,在下一个调用之后添加一个find('img')
!非常感谢,先生。你解释得很好的密码和小提琴对我帮助很大。再次感谢您。您的欢迎,很高兴听到这对您很有帮助,祝您一切顺利。非常感谢先生。你解释得很好的密码和小提琴对我帮助很大。再次感谢您。您的欢迎,很高兴听到这是有益的,祝您一切顺利