gpt4 book ai didi

javascript - MaterializeCss - Wave/Ripple 效果手动触发

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:32:10 27 4
gpt4 key购买 nike

我正在使用 MaterializeCSS ( http://materializecss.com/ ) 构建我的网站

我想知道如何手动触发特定控件的 Wave/Ripple 效果,例如:

“触发特定按钮的波浪/波纹效果。”

MaterializeCSS 团队认为他们使用“Waves.js”javascript 库 (http://fian.my.id/Waves/) 的端口,但是当我尝试使用这些命令时,浏览器控制台中出现错误。

有人可以指点我吗?

示例代码:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="css/materialize.css" media="screen,projection"/>

<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<!--Import jQuery before materialize.js-->
<script type="text/javascript" src="jquery/jquery.min.js"></script>
<script type="text/javascript" src="js/materialize.min.js"></script>

<title>My website title</title>
</head>

<body>
<script type="text/javascript">
$(document).ready(function() {
Waves.ripple('#but_1');
});
</script>

<a id="but_1" class="waves-effect waves-light btn">button</a>

</body>
</html>

根据 MaterializeCSS 团队...

"Waves is an external library that we've included in Materialize to allow us to create the ink effect outlined in Material Design"

...根据 Waves 文档....

Waves.ripple(elements, options) Create a ripple effect in HTML element programmaticaly.

( http://fian.my.id/Waves/#api )

所以在浏览器控制台中我得到这个错误:

Uncaught TypeError: Waves.ripple is not a function

最佳答案

我找到了一个解决方案!!!

步骤:

  1. 下载最新版本的 Waves.js,链接 https://github.com/fians/Waves/releases

  2. 从 materializeCSS 文件中打开名为“materialize.js”的文件

  3. 打开后,尝试找到以...开头的部分

    ;/*!
    * Waves v0.6.4
    * http://fian.my.id/Waves
    *
    * Copyright 2014 Alfiana E. Sibuea and other contributors
    * Released under the MIT license
    * https://github.com/fians/Waves/blob/master/LICENSE
    */

    ;(function(window) {
    'use strict';

    var Waves = Waves || {};
    var $$ = document.querySelectorAll.bind(document);

    // Find exact position of element
    function isWindow(obj) {
    return obj !== null && obj === obj.window;
    }

该部分属于嵌入在 materializeCSS 中的 Waves 库....用 Waves.js 的新代码替换所有该部分代码....如何? .... 复制最新版Waves.js的代码,在materialize.js的Waves SECTION里面替换(PASTE)

  1. 现在 ... 在您的 HTML 文件中您应该有这样的东西(检查评论)

    <!DOCTYPE html>
    <html lang="es">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <!--ADD the CSS from materializeCSS -->
    <link type="text/css" rel="stylesheet" href="css/materialize.css" media="screen,projection"/>

    <!--Let browser know website is optimized for mobile-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

    <!--Import jQuery before materialize.js-->
    <script type="text/javascript" src="jquery/jquery.min.js"></script>

    <!-- Add the file "materialize.js" ... the one you just modified -->
    <script type="text/javascript" src="js/materialize.js"></script>

    <!-- Add the CSS from Waves.js -->
    <link type="text/css" rel="stylesheet" href="waves/waves.css" media="screen,projection"/>

    <!-- DO NOT ADD the Waves.js
    <script type="text/javascript" src="wave/waves.js"></script>
    -->

    <title>Your site</title>
    </head>
    <body>
    <script type="text/javascript">
    function clickbut() {
    //Now you can use the Waves.ripple function!!!
    Waves.ripple('#but_1');
    };

    $(document).ready(function() {
    //Initialize the Waves module
    Waves.init()
    });
    </script>


    <h2 class="left-align"><i class="left-align medium material-icons">touch_app</i>My website Header</h2>


    <button onclick="clickbut()">click me</button>

    <a class="waves-effect waves-light btn ">button</a>

    <a id="but_1" class="waves-effect waves-light btn"><i class="material-icons left">cloud</i>button</a>

    <a class="waves-effect waves-light btn"><i class="material-icons right">cloud</i>button</a>

    </body>
    </html>

如果您点击“点击我”按钮...涟漪效果将在#but_1 按钮中播放

关于javascript - MaterializeCss - Wave/Ripple 效果手动触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36584226/

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