Javascript 图像滑块将文本发送到屏幕外并显示页脚
Javascript image slider sends text off screen and brings footer up
我有一个javascript滑块位于以下页面的页面上: crothersenvironmental.com/crothers/index.html 它不断将它下面的相关段落文本从屏幕一侧发送出去。您可以在右侧滑块下方看到它。单击滑块上方的相关数字后,每次单击数字时,您都会看到文本向右移动,直到它们从屏幕上移出并消失。此外,单击#1后,页脚会上升,然后在单击任何其他数字后向下移动。
任何帮助、想法或方向都会非常有帮助。提前非常感谢。
这是我正在使用的 js 脚本:
$('#recentprojects li a').click(function() {
var $this = $(this);
if ( !$this.parent('li').hasClass('selected') ) {
var url = this.href,
height = $('#recentworkimage img').css('height');
$this
.parents('ol')
.find('li.selected')
.removeClass('selected');
$this.parent('li').addClass('selected');
$('#recentworkimage')
.css('height', height)
.children('img')
.fadeOut(1000, function() {
$(this).attr('src', url).load(function() {
$(this).fadeIn(1000);
});
$this.parents('#recentprojects')
.find('p:last')
.empty()
.html('<p>' + $this.attr('title') + '</p>');
});
}
return false;
});
首先,在设置新的HTML字符串之前,您不需要清空元素,因为.html()
已经替换了整个内容。您的副标题越来越多地向右移动的原因是您正在递归添加<p>
元素。
请尝试以下操作:
$this.parents('#recentprojects')
.find('p:last')
.html($this.attr('title'));
尽管在这种情况下(当您查找唯一 ID 时),您可以像这样简化:
$('#recentprojects')
.find('p:last')
.html($this.attr('title'));
或者,如果这是该元素中唯一的<p>
,则可以进一步减少:
$('#recentprojects p')
.html($this.attr('title'));
如果要在页面加载时使用 JavaScript 更新字幕,请添加以下内容:
$(document).ready(function () {
var projects = $('#recentprojects');
projects
.find('p:last')
.html(projects
.find('a:first')
.attr('title'));
});
我认为问题出在这一点上:
$this.parents('#recentprojects')
.find('p:last')
.empty()
.html('<p>' + $this.attr('title') + '</p>');
您将文本添加到最后一个 p
标记中,从而导致一种递归行为。 每次添加新的p
标签时,它都会成为最后一个p
。
执行此操作的另一种方法可能是:
$this.parents('#recentprojects')
.find('p:last')
.remove()
.html('<p>' + $this.attr('title') + '</p>');
删除方法应删除旧的方法并将其替换为新方法。
希望这有帮助
编辑-
实际上,你可以做.find('p:last').html('yada yada yada');
相关文章:
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 调整屏幕大小后不显示子菜单
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 在网站上显示.mov作为加载屏幕的最佳方式
- 根据屏幕宽度显示块
- 根据屏幕大小显示主干.js集合的子集
- 如何显示显示的html元素:在特定的媒体屏幕上没有
- 根据屏幕分辨率显示自定义背景图像
- 如何将弹出窗口居中显示在屏幕上
- 在Chrome扩展程序中,是否可以截屏并在弹出窗口中显示屏幕
- IE11(Windows Phone 8.1)不感应(显示尺寸)屏幕旋转
- HTML/JS 如何输入文本并使其显示在屏幕上
- 在屏幕上显示选择选项图像
- 在屏幕中央显示图像 CSS jQuery
- 仅在较小的屏幕上显示图像
- 在MVC中的“编辑”屏幕中只显示所需的DDL值
- 我希望每次单击按钮时都能将每张图片更改为显示在屏幕上的同一位置
- 确定网络应用程序的屏幕显示时间
- 为什么白色屏幕显示在幻灯片之间的内容
- 如何让等待屏幕显示加载时,它有CSS样式