gpt4 book ai didi

javascript - Divi Wordpress 主题 - 更改幻灯片转换速度

转载 作者:技术小花猫 更新时间:2023-10-29 12:21:08 27 4
gpt4 key购买 nike

我在为客户构建的网站上使用 Divi,在主页上我有一个预加载器设置,可以在网站显示之前在后台加载页面和图像。唯一的问题是,Divi 全 Angular slider 中的第一张幻灯片在页面加载的同时开始,因此当预加载器完成并淡出屏幕时,第一张幻灯片切换到第二张幻灯片的速度太快。

我问过 ElegantThemes,他们说我的请求不在支持范围内。我什至不知道从哪里开始调整,只有第一张幻灯片的时间比其他幻灯片长。

所以,我想我的问题是,如何仅更改 Divi Fullwidth Slider 上第一张幻灯片的过渡时间?

这是链接::http://mfinangaphoto.wpengine.com

我想我已经在/wp-content/themes/Divi/includes/builder/main-modules.php 下找到了确定幻灯片的自动动画速度的代码:

$fullwidth = 'et_pb_fullwidth_slider' === $function_name ? 'on' : 'off';

$class = '';
$class .= 'off' === $fullwidth ? ' et_pb_slider_fullwidth_off' : '';
$class .= 'off' === $show_arrows ? ' et_pb_slider_no_arrows' : '';
$class .= 'off' === $show_pagination ? ' et_pb_slider_no_pagination' : '';
$class .= 'on' === $parallax ? ' et_pb_slider_parallax' : '';
$class .= 'on' === $auto ? ' et_slider_auto et_slider_speed_' . esc_attr( $auto_speed ) : '';
$class .= 'on' === $auto_ignore_hover ? ' et_slider_auto_ignore_hover' : '';
$class .= 'on' === $remove_inner_shadow ? ' et_pb_slider_no_shadow' : '';
$class .= 'on' === $show_image_video_mobile ? ' et_pb_slider_show_image' : '';

$output = sprintf(
'<div%4$s class="et_pb_module et_pb_slider%1$s%3$s%5$s">
<div class="et_pb_slides">
%2$s
</div> <!-- .et_pb_slides -->
</div> <!-- .et_pb_slider -->
',
$class,
$content,
( $et_pb_slider_has_video ? ' et_pb_preload' : '' ),
( '' !== $module_id ? sprintf( ' id="%1$s"', esc_attr( $module_id ) ) : '' ),
( '' !== $module_class ? sprintf( ' %1$s', esc_attr( $module_class ) ) : '' )
);

return $output;

我该如何调整它,使第一张幻灯片的幻灯片速度与其余幻灯片的幻灯片速度不同?

最佳答案

不确定您使用的是哪个版本的 Divi,但在我的版本 (Divi 1.9.1) 中有一个名为 js/custom.js 的文件。 js 负责运行幻灯片放映。

在第 119 - 125 行附近,您会发现这个函数:

function et_slider_auto_rotate(){
if ( settings.slideshow && et_slides_number > 1 && ! $et_slider.hasClass( 'et_slider_hovered' ) ) {
et_slider_timer = setTimeout( function() {
$et_slider.et_slider_move_to( 'next' );
}, settings.slideshow_speed );
}
}

settings.slideshow_speed 变量控制每张幻灯片显示的时间量。您可以按如下方式调整此文件。请注意,以下是即时伪代码,未经测试。已对其进行评论,因此您可以跟进。我的示例将只处理轮播的第一张幻灯片。因此,当第一张幻灯片重复播放时,除非您进行更多修改,否则您将被困在与其他幻灯片相同的时间控制中。

// somewhere inside the same function block closure in js/custom.js

// first, create some arbitrary variable to manage whether or not we've started
var hasCarouselStarted

// create our own custom function to get the interval between slides
function getMyInterval () {
// our carousel has already started, so, return the default interval
if (hasCarouselStarted) {
return settings.slideshow_speed
}
// we got here, so this is the first time the carousel is start,
// mark the flag as true so we won't get here anymore
hasCarouselStarted = true
// return time in milliseconds for the first slide.
return 1 * 60 * 1000 // 1 min * 60 seconds & 1000 milliseconds
}

function et_slider_auto_rotate(){
if ( settings.slideshow && et_slides_number > 1 && ! $et_slider.hasClass( 'et_slider_hovered' ) ) {
et_slider_timer = setTimeout( function() {
$et_slider.et_slider_move_to( 'next' );
// use our function to determine slide speed instead of the original settings.slideshow_speed
}, getMyInterval() );
}
}

希望对您有所帮助。

关于javascript - Divi Wordpress 主题 - 更改幻灯片转换速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41750486/

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