zoukankan      html  css  js  c++  java
  • EnjoyHint ,网站交互式引导插件api及例子

    出处:https://github.com/xbsoftware/enjoyhint

    <!-- External libraries -->
      <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/kineticjs/5.2.0/kinetic.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.2/jquery.scrollTo.min.js"></script>
      <!-- Enjoyhint library -->
      <link href="<pathontheserver>/enjoyhint/enjoyhint.css" rel="stylesheet">
      <script src="<pathontheserver>/enjoyhint/enjoyhint.min.js"></script>

    一、配置
    selector : 选择的元素(id,class,name)。
    description : 提示的内容。
    keyCode :当event为key时,用来定义具体的keyCode值。
    event_selector :如果需要将事件(设置在“事件”属性中)附加到其他选择器,则可以使用此选项。
    timeout :超时-在一个元素被突出显示之前的延迟。
    shape:显示的形状,可使用(circle/reat)。
    radius :若shape是cicle,则可以使用该属性定义圆大小。
    margin :shape是reat时,显示面积的大小。
    top | bottom | right | left:可以定义显示的具体位置。
    scrollAnimationSpeed:设置scroll的速度。
    nextButton :可以定义next按钮的class和text。
    skipButton :可以定义skip按钮的class和text。

    showSkip :(true | false),是否显示skip按钮。
    showNext :(true | false),是否显示next按钮。

    二、非标准事件(event_type):
    1、auto : 你需要在第一步之后点击第二步上的同一按钮,然后进入下一步。event:'click';event_type:'auto'。
    2、custom:需要在应用程序代码中按事件进行下一步。比如:在应用程序中加载了一些数据之后才进入下一步,event_type使用custom,和trigger方法。
            $.get('/load/some_data', function(data){
                //trigger method has only one argument: event_name.(equal to the value of event property in step config)
                enjoyhint_instance.trigger('custom_event_name');
            });
    3、next:event_type后使用,能看见下一步按钮。
    4、key:使用keyCode来定义如何进入下一步。例如,event_type:key,'keyCode':13,表示回车进入下一步。

    三、方法
    1、set:设置当前的步骤配置。参数:配置
    2、run:运行当前脚本。没有参数
    3、resume:恢复-从停止的步骤恢复脚本。没有参数
    4、getCurrentStep:返回当前步骤索引
    5、trigger:触发器-在编写此代码后,您可以移动到下一个步骤,或者用SelpHytt(Next Skip)结束。

    四、事件
    1、onStart: 第一步开始的时候事件。
    2、onEnd:最后一步结束的时候事件。
    3、onSkip:用户点击skip的时候事件。

    var enjoyhint_instance = new EnjoyHint({
        onEnd:function(){
            alert('结束了!');
        }
    });

    4、onBeforeStart :在这一步开始之前。例如要选中二级菜单,可使用点击事件打开第一级菜单。
    var enjoyhint_script_steps = [
        {
          selector:'.some_btn',//jquery selector
          event:'click',
          description:'Click on this btn',
          onBeforeStart:function(){
              //do something
            }
        }
    ];

    五、例子

    1、常规使用例子

    //initialize instance
    var enjoyhint_instance = new EnjoyHint({});

    //simple config.
    //Only one step - highlighting(with description) "New" button
    //hide EnjoyHint after a click on the button.
    var enjoyhint_script_steps = [
        {
            'click .new_btn' : 'Click the "New" button to start creating your project'
        }  
    ];

    //set script config
    enjoyhint_instance.set(enjoyhint_script_steps);

    //run Enjoyhint script
    enjoyhint_instance.run();

    其中的具体步骤(enjoyhint_script_steps),可以这样写:

    1、var enjoyhint_script_steps = [
        {
          'next .navbar-brand' : '欢迎来到我的搜索!让我来引导你了解它的特点。',
          'nextButton' : {className: "myNext", text: "可以"},
          'skipButton' : {className: "mySkip", text: "不了!"}
        },
        {
          'key #mySearchButton' : "请输入关键词搜索,并按“Enter”进去下一步",
          'keyCode' : 13
        },
        {
          'click .btn' : '点击这个按钮,切换下拉菜单,进入下一步'
        },
        {
          'next .about' : '检查可用的所有功能的列表',
          'shape': 'circle'
        },
        {
          'next .contact' : '您的反馈将不胜感激。',
          'shape': 'circle',
          'radius': 70,
          'showSkip' : false,
          'nextButton' : {className: "myNext", text: "知道了!"}
        }
    ];

    2、 var enjoyhint_script_data =[
                {
                    selector:'#person_menu',
                    event:'click',
                    shape:'rect',
                    left:400,
                    top:200,

                    description:'请点击用户',
                    "skipButton" : {text: "退出"},
                },
                {
                    selector:'#person_info',
                    event:'click',
                    description:'请点击个人设置',
                    "skipButton" : {text: "退出"},
                },
                {
                    selector:'#menu_1',
                    event_type:'key',
                                    keyCode:13,
                    "skipButton" : {text: "退出"},
                    description:'请点击项目储备!',
                 },
                {
                    selector:'#menu_2',
                    event:'click',
                    "skipButton" : {text: "退出"},
                    description:'请点击基本信息维护!',
                },
                {
                    selector:'#base_info',
                    event:'custom',
                    event_type:'next',
                    "nextButton": {text:"下一步"},
                    "skipButton" : {text: "退出"},
                    description:'请点击项目概况!',
                },

    ];

  • 相关阅读:
    第01组 Beta冲刺(1/5)
    2019 SDN上机第6次作业
    2019 SDN上机第5次作业
    SDN课程阅读作业(2)
    USDT钱包对接交易所 寻找最便捷的USDT充提币API接口文档
    EOS区块链钱包开发教程
    XRP钱包对接教程
    usdt钱包如何跟交易所对接?
    BTC_ETH_USDT_自动充提币API接口,钱包对接交易所教程!
    BTC bitcoin-cli转账及交易的API使用教程
  • 原文地址:https://www.cnblogs.com/haimeimei/p/13323512.html
Copyright © 2011-2022 走看看