gpt4 book ai didi

javascript - Textillate CSS 动画不能完全与 jQuery Mobile 配合使用

转载 作者:行者123 更新时间:2023-12-02 16:48:57 26 4
gpt4 key购买 nike

我在第二个 jquery 移动页面上的文本中添加了文本效果。当我单击导航栏中的第 2 页按钮时,显示第 2 页时动画可以正常工作。当我单击导航栏中的第 1 页按钮,然后单击第 2 页按钮时,显示的文本没有动画。我猜想有 javascript 代码可以重新初始化效果,但我不知道它是什么。

<!DOCTYPE html>
<html>
<head>
<title>put title here</title>
<meta name="viewport" content="width=device-width"/>
<link rel="stylesheet" href="jquery.mobile-1.4.3.min.css" />
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.mobile-1.4.3.min.js"></script>
<script type="text/javascript" src="jquery.lettering.js"></script>
<script type="text/javascript" src="jquery.textillate.js"></script>
<link rel="stylesheet" href="animate.min.css"/>
</head>
<body bgcolor="#ffffff">
<!-- Start of page-->
<div data-role="page" id="page1">
<div data-role="navbar" id="nbar3" data-iconpos="left">
<ul>
<li><a href="#page1" class="ui-btn-active">Page 1</a></li>
<li><a href="#page2">Page 2</a></li>
</ul>
</div> <!-- end of navbar -->
</div><!-- end of page -->
<!-- Start of page-->
<div data-role="page" id="page2">
<script type="text/javascript">
$('#page2').on('pagecreate', function() {
$('.anim0').textillate({
});
});
</script>
<div data-role="navbar" id="nbar4" data-iconpos="left">
<ul>
<li><a href="#page1">Page 1</a></li>
<li><a href="#page2" class="ui-btn-active">Page 2</a></li>
</ul>
</div> <!-- end of navbar -->
<div class="anim0" data-in-effect="fadeInLeftBig" style="font-family:Arial; font-size:34px; color:#000000; position:absolute; top:37px; left:196px;">hello</div>
</div><!-- end of page -->
</body>
</html>

最佳答案

Textillate文档中,没有提及是否可以再次重新初始化相同的文本。但是,您可以简单地销毁它,然后重新初始化它。

要销毁它,您需要首先将文本保存在 var 中,然后使用 .removeData()< 删除存储到该目标 div 中的 Textillate 数据/。然后用原始文本替换目标 div 中的所有动画元素。您可以使用 pagecontainerbeforehidepagecontainerhide 来执行上述步骤。

重新初始化它,只需在 pagecontainerbeforeshowpagecontainershow 上调用 .textillate() 即可。

$(document).on('pagecontainerbeforeshow', function (e, data) {
/* initialize */
$('.anim0', data.toPage).textillate();
}).on("pagecontainerhide", function (e, data) {
/* store text */
var text = $(".anim0 ul li", data.prevPage).text();
/* remove data and add original text back */
$(".anim0", data.prevPage).removeData().html(text);
});

Demo

关于javascript - Textillate CSS 动画不能完全与 jQuery Mobile 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26853272/

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