使用 wordpress 制作 Javascript 幻灯片
Making a Javascript slideshow with wordpress
我正在迈出学习编码的第一步。我做了一些关于 html、css、javascript、php 和 MySql 的课程,现在,我决定继续从实践中学习,同时构建一个Wordpress 子主题。
问题是我正在构建图像幻灯片。为了开始了解如何制作它,我发现了这个:http://www.w3schools.com/w3css/w3css_slideshow.asp.
这是一个简单实用的幻灯片。这太好了!但是如果我想在Wordpress中实现它会遇到一些问题。
我制作了一个 post 类型并使用高级自定义字段插件创建了一个转发器字段。所以代码在 Wordpress 中应该是这样的:
<?php get_header(); ?>
<script>
var slideIndex = 1;
showDivs(slideIndex);
function plusDivs(n) {
showDivs(slideIndex += n);
}
function showDivs(n) {
var i;
var x = document.getElementsByClassName("mySlides");
if (n > x.length) {slideIndex = 1}
if (n < 1) {slideIndex = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex-1].style.display = "block";
}
</script>
<?php
if( have_rows('image') ):
while ( have_rows('image') ) : the_row();
if( get_sub_field('subimage') ) :
echo '<div class="mySlides">' . get_sub_field('subimage') . '</div>';
endif;
endwhile;
endif;
?>
<a class="home-btn-left" onclick="plusDivs(-1)">❮</a>
<a class="home-btn-right" onclick="plusDivs(1)">❯</a>
</div>
<?php get_footer(); ?>
效果近乎完美!但是现在我有两个问题:
1) 加载页面后即可查看模板。我看到第一张图片覆盖了最后一张图片。我不知道为什么:
2) 幻灯片结束时有一张空幻灯片。看起来我有一个空的子字段,但不,我没有空的子字段。我不知道为什么有一个空幻灯片。
你有什么推荐吗?
谢谢
我认为问题在于 DIV </div>
就在您的 get_footer()
之前。这是导致浏览器失败的简单 html 标记错误。您的代码应如下所示:
<?php get_header(); ?>
<script>
var slideIndex = 1;
function plusDivs(n) {
showDivs(slideIndex += n);
}
function showDivs(n) {
var i;
var x = document.getElementsByClassName("mySlides");
if (n > x.length) {slideIndex = 1}
if (n < 1) {slideIndex = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex-1].style.display = "block";
}
</script>
<?php
if( have_rows('image') ):
while ( have_rows('image') ) : the_row();
if( get_sub_field('subimage') ) :
echo '<div class="mySlides">' . get_sub_field('subimage') . '</div>';
endif;
endwhile;
endif;
?>
<a class="home-btn-left" onclick="plusDivs(-1)">❮</a>
<a class="home-btn-right" onclick="plusDivs(1)">❯</a>
<script>
showDivs(slideIndex);
</script>
<?php get_footer(); ?>
如果这不能解决您的问题,请告诉我。
我正在迈出学习编码的第一步。我做了一些关于 html、css、javascript、php 和 MySql 的课程,现在,我决定继续从实践中学习,同时构建一个Wordpress 子主题。
问题是我正在构建图像幻灯片。为了开始了解如何制作它,我发现了这个:http://www.w3schools.com/w3css/w3css_slideshow.asp.
这是一个简单实用的幻灯片。这太好了!但是如果我想在Wordpress中实现它会遇到一些问题。
我制作了一个 post 类型并使用高级自定义字段插件创建了一个转发器字段。所以代码在 Wordpress 中应该是这样的:
<?php get_header(); ?>
<script>
var slideIndex = 1;
showDivs(slideIndex);
function plusDivs(n) {
showDivs(slideIndex += n);
}
function showDivs(n) {
var i;
var x = document.getElementsByClassName("mySlides");
if (n > x.length) {slideIndex = 1}
if (n < 1) {slideIndex = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex-1].style.display = "block";
}
</script>
<?php
if( have_rows('image') ):
while ( have_rows('image') ) : the_row();
if( get_sub_field('subimage') ) :
echo '<div class="mySlides">' . get_sub_field('subimage') . '</div>';
endif;
endwhile;
endif;
?>
<a class="home-btn-left" onclick="plusDivs(-1)">❮</a>
<a class="home-btn-right" onclick="plusDivs(1)">❯</a>
</div>
<?php get_footer(); ?>
效果近乎完美!但是现在我有两个问题:
1) 加载页面后即可查看模板。我看到第一张图片覆盖了最后一张图片。我不知道为什么:
2) 幻灯片结束时有一张空幻灯片。看起来我有一个空的子字段,但不,我没有空的子字段。我不知道为什么有一个空幻灯片。
你有什么推荐吗?
谢谢
我认为问题在于 DIV </div>
就在您的 get_footer()
之前。这是导致浏览器失败的简单 html 标记错误。您的代码应如下所示:
<?php get_header(); ?>
<script>
var slideIndex = 1;
function plusDivs(n) {
showDivs(slideIndex += n);
}
function showDivs(n) {
var i;
var x = document.getElementsByClassName("mySlides");
if (n > x.length) {slideIndex = 1}
if (n < 1) {slideIndex = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex-1].style.display = "block";
}
</script>
<?php
if( have_rows('image') ):
while ( have_rows('image') ) : the_row();
if( get_sub_field('subimage') ) :
echo '<div class="mySlides">' . get_sub_field('subimage') . '</div>';
endif;
endwhile;
endif;
?>
<a class="home-btn-left" onclick="plusDivs(-1)">❮</a>
<a class="home-btn-right" onclick="plusDivs(1)">❯</a>
<script>
showDivs(slideIndex);
</script>
<?php get_footer(); ?>
如果这不能解决您的问题,请告诉我。