gpt4 book ai didi

javascript - 如何动态添加图像和链接到轮播?

转载 作者:行者123 更新时间:2023-11-28 08:59:34 25 4
gpt4 key购买 nike

我想了解这是如何工作的。

我想使用的 jQuery 轮播是 Elastislide。
http://tympanus.net/codrops/2011/09/12/elastislide-responsive-carousel/

该网站为我们提供了需要使用的代码:

var carousel = $('#carousel').elastislide();
...
$('#carousel').append("<li><a href="#"><img src="images/10.jpg" alt="image03" /></a></li>");
carousel.add();

我还在 jquery.elastislide.js 文件中找到了这些行,但/* 忽略了它

这是 HTML:

      <div>
<div class="fixed-bar">
<!-- Elastislide Carousel -->
<ul id="carousel" class="elastislide-list">
<li><a href="http://www.site1.com"><img src="images/1.jpg" alt="img1" /></a></li>
<li><a href="http://www.site2.com"><img src="images/2.jpg" alt="img2" /></a></li>
<li><a href="http://www.site3.com"><img src="images/3.jpg" alt="img3" /></a></li>
<li><a href="http://www.site4.com"><img src="images/4.jpg" alt="img4" /></a></li>
</ul>
<!-- End Elastislide Carousel -->
</div>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquerypp.custom.js"></script>
<script type="text/javascript" src="js/jquery.elastislide.js"></script>
<script type="text/javascript">
$( '#carousel' ).elastislide( {
minItems : 1
} );
</script>

HTML 显然会查找所有这些项目。但 JavaScript 会根据可用内容来决定 html 中显示的内容,对吗?

所以我的猜测是,在我对其进行任何操作之前,html 需要看起来像这样:

               <!-- Elastislide Carousel -->
<ul id="carousel" class="elastislide-list">
</ul>
<!-- End Elastislide Carousel -->

我需要向其中添加 Javascript。否则如何添加图像和链接等列表项?
有人可以确认这是正确的吗?
我不认为在那之后我就完成了,我需要在某个地方添加路径,可能也在 JavaScript 中。
否则它怎么知道需要在哪个文件夹中查找?

为了让事情变得更复杂(或者也许不是),我正在尝试在 Joomla 中执行此操作。
我可以安装或多或少执行与此轮播类似的操作的扩展,但我不想这样做,因为归根结底就是单击按钮而没有真正理解它。

谢谢。

最佳答案

这是完整的工作静态 HTML 页面,其中包含 Elastislide 轮播

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/elastislide.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquerypp.custom.js"></script>
<script type="text/javascript" src="js/modernizr.custom.17475.js"></script>
<script type="text/javascript" src="js/jquery.elastislide.js"></script>
<head>
<body>

</body>
<ul id="carousel" class="elastislide-list">
<li><a href="1.jpg"><img src="1.jpg" alt="img1" /></a></li>
<li><a href="2.jpg"><img src="2.jpg" alt="img2" /></a></li>
<li><a href="3.jpg"><img src="3.jpg" alt="img3" /></a></li>
<li><a href="4.jpg"><img src="4.jpg" alt="img4" /></a></li>
</ul>
<script type="text/javascript">
$('#carousel').elastislide();
</script>

<body>
</html>

请注意,文件结构很重要 - 对于此类 HTML,您必须具有:
/filanme.htm(或.php)-页面本身
/css/* - 包含 css 文件
/js/* - 包含 JavaScript
/images/* - Elastislide 补充图像(包含在其包中)

要使用 PHP 超文本预处理器生成这样的页面,您的步骤可能如下。

  1. 从 Joomla CMS(或直接 MySQL 数据库)检索有关站点管理员希望将哪些图像和链接加载到轮播中的 PHP 数据。我很难说如何用 Joomla 做到这一点,因为我不经常使用它,所以我会给出一个简单函数的例子,总是返回带有数据的“预煮”PHP 数组。

  2. 获取数据后,生成形成轮播源的 ulli 标记,并使用 $('#carousel') 插入脚本.elastislide(); 在其之后调用。

这里是简单但有效的 PHP 代码示例:

<?
// such a funciton would be inside CMS, not in your code
function CMS_get_carousel_data( $carousel_name ) {
return array(
array( 'link'=>'1.jpg', 'image'=>'1.jpg', 'alt_text'=>'1' ),
array( 'link'=>'2.jpg', 'image'=>'2.jpg', 'alt_text'=>'2' ),
array( 'link'=>'3.jpg', 'image'=>'3.jpg', 'alt_text'=>'3' ),
array( 'link'=>'4.jpg', 'image'=>'4.jpg', 'alt_text'=>'4' )
);
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/elastislide.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquerypp.custom.js"></script>
<script type="text/javascript" src="js/modernizr.custom.17475.js"></script>
<script type="text/javascript" src="js/jquery.elastislide.js"></script>
<head>
<body>
<?
// calling 'CMS' function to retrieve data to be displayed in the carousel
$data = CMS_get_carousel_data('carousel_A');
?>
</body>
<ul id="carousel_A" class="elastislide-list">
<? foreach( $data as $item ) { /* generating markup */ ?>
<li>
<a href="<?=$item['link']?>">
<img src="<?=$item['image']?>" alt="<?=$item['alt_text']?>" />
</a>
</li>
<? } ?>
</ul>
<script type="text/javascript">
$('#carousel_A').elastislide();
</script>

<body>
</html>

要使其真正发挥作用,您应该将上面的代码放置在您网站上的 .php 文件中,将其他所需文件放置到适当的文件夹中,当然,还要在 Joomla CMS 中找到真正的 API 来检索轮播数据并利用它。

关于javascript - 如何动态添加图像和链接到轮播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17930476/

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