gpt4 book ai didi

javascript - 带有滚动的 jQuery Mobile ListView 描述

转载 作者:行者123 更新时间:2023-11-29 16:16:02 25 4
gpt4 key购买 nike

我有一个带有一些长标题的 ListView ,它会自动隐藏在小屏幕显示上并用...固定发布

如果整个标题没有显示在屏幕上,我不确定是否可以让这些长标题描述滚动。

Example on jsFiddle

<div data-role="page" id="MessagesPage">
<div data-role="header">
<a href="#HomePage" data-icon="home" data-direction="reverse">Home</a>
<h1 id="ScheduleDayText">Messages</h1>
</div>
<div data-role="content">
<ul data-role="listview" id="MessagesList" data-autodividers="false">
<li date="2013-03-20"><a href="#">Event 1 With take every second Saturday of each month</a></li>
<li date="2013-03-20"><a href="#">Event 2 With take every second Thrusday of each month</a></li>
<li date="2013-03-19"><a href="#">Event 3</a></li>
</ul>
</div>
</div>

我们能否让标题在鼠标悬停时向左或向右滚动,以便用户在单击链接或按钮之前可以阅读标题。

最佳答案

更新

我想出了一个更好的主意,使用 CSS3 动画。在 vmouseover一类.marquee将添加到 <a>并为其文本设置动画。动画完成后,一切都会变正常。

Demo here.

HTML

<div data-role="page" id="MessagesPage">
<div data-role="header"> <a href="#HomePage" data-icon="home" data- direction="reverse">Home</a>
<h1 id="ScheduleDayText">Messages</h1>

</div>
<div data-role="content">
<ul data-role="listview" id="MessagesList" data-autodividers="false">
<li date="2013-03-20"><a href="#">Lorem ipsum dolor sit amet.</a>

</li>
<li date="2013-03-20"><a href="#">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam laoreet ullamcorper vehicula. Cras eros augue, mollis vitae aliquet auctor, porta.</a>

</li>
<li date="2013-03-19"><a href="#">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum et.</a>

</li>
</ul>
</div>
</div>

CSS + 动画

.marquee {
white-space: nowrap !important;
overflow: visible !important;
animation: right-left 5s ease;
-moz-animation: right-left 5s ease;
-webkit-animation: right-left 5s ease;
}

@-moz-keyframes right-left {
0% {
-moz-transform:translateX(0);
}
50% {
-moz-transform:translateX(-50%);
}
100% {
-moz-transform:translateX(-200%);
}
}
/** Webkit Keyframes **/
@-webkit-keyframes right-left {
0% {
-webkit-transform:translateX(0);
}
50% {
-webkit-transform:translateX(-50%);
}
100% {
-webkit-transform:translateX(-200%);
}
}

JS

$("#MessagesList li").on('vmouseover', function (event) {
var text = $(this).find('a').text();
var textlength = $(this).find('a').text().length;
var where = $(this).find('a');
var root = $(this);
if (textlength > 50) {
where.addClass('marquee');
where.css('text-overflow', '');
//$("MessagesList").listview('refresh');
}
$("a").on('animationend animationend webkitAnimationEnd oanimationend MSAnimationEnd', function () {
$(this).removeClass('marquee');
//$("MessagesList").listview('refresh');
$(this).css('text-overflow', 'ellipsis');
});
});

旧答案

好吧,我找到了一种添加 <marquee> 的方法滚动。但是,我没有在移动设备上测试它。我希望这对你有用。

$("#MessagesList a").on('vmouseover vmouseout', function (event) {
var text = $(this).text();
if (event.type == 'vmouseover') {
$(this).html('<marquee behavior="slide" direction="left">' + text + '</marquee>');
}
if (event.type == 'vmouseout') {
$(this).text(text);
$(this).find('marquee').remove();
}
});

关于javascript - 带有滚动的 jQuery Mobile ListView 描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15676121/

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