【ionic 源码分析】【视频媒体源码】【面试软件源码】jq源码分析

时间:2024-11-15 00:10:52 来源:源码计算法 分类:焦点

1.将以下jq代码转换为原生js
2.jq中$("pwdId");什么意思
3.为什么多加了 $(document).ready(function() { })就显示不出提示信息,源码不加可以显示提示信息?

jq源码分析

将以下jq代码转换为原生js

       jquery.downCount.js是分析依赖于jQuery的插件(效果:倒计时),所以我们需要查看该插件的源码源码才能将其变成源生代码。

       html代码:

<div class="p1">

           <span class="days"></span><span class="days_ref"></span>

           <span class="hours"></span><span class="hours_ref"></span>

           <span class="minutes"></span><span class="minutes_ref"></span>

           <span class="seconds"></span><span class="seconds_ref"></span>

         </div>

       上面span中的分析class类是用于显示需要的类,在插件中days、源码ionic 源码分析hours、分析视频媒体源码minutes、源码seconds分别用于显示天数、分析小时、源码分钟、分析秒,源码days_ref、分析hours_ref、源码面试软件源码minutes_ref、分析seconds_ref分别用于显示单位days或day,源码hours或hour、minutes或minute、mud 争锋 源码seconds或second。这些类都没有定义相应的样式,需要自己自定义样式。

       js代码,太子源码录制只是简易的提了出来,如果需要更灵活的配置,自己再做进一步封装:

(function () {

           var container = document.querySelector(".p1");

           var mydate = '1// ::', 

               myoffset = ,

               callback = function () {

                 alert("执行完毕");

               };

           /

**

            * Change client's local date to match offset timezone

            * @return { Object} Fixed Date object.

            */

           var currentDate = function () {

               // get client's current date

               var date = new Date();

               // turn date to utc

               var utc = date.getTime() + (date.getTimezoneOffset() * );

               // set new Date object

               var new_date = new Date(utc + (*myoffset));

               return new_date;

           };

           /

**

            * Main downCount function that calculates everything

            */

           function countdown () {

               var target_date = new Date(mydate), // set target date

                   current_date = currentDate(); // get fixed current date

               // difference of dates

               var difference = target_date - current_date;

               // if difference is negative than it's pass the target date

               if (difference < 0) {

                   // stop timer

                   clearInterval(interval);

                   if (callback && typeof callback === 'function') {

                     callback();

                   }

                   return;

               }

               // basic math variables

               var _second = ,

                   _minute = _second * ,

                   _hour = _minute * ,

                   _day = _hour * ;

               // calculate dates

               var days = Math.floor(difference / _day),

                   hours = Math.floor((difference % _day) / _hour),

                   minutes = Math.floor((difference % _hour) / _minute),

                   seconds = Math.floor((difference % _minute) / _second),

                   // fix dates so that it will show two digets

                   days = (String(days).length >= 2) ? days : '0' + days,

                   hours = (String(hours).length >= 2) ? hours : '0' + hours,

                   minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes,

                   seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds;

               // based on the date change the refrence wording

               var ref_days = (days === 1) ? 'day' : 'days',

                   ref_hours = (hours === 1) ? 'hour' : 'hours',

                   ref_minutes = (minutes === 1) ? 'minute' : 'minutes',

                   ref_seconds = (seconds === 1) ? 'second' : 'seconds';

               // set to DOM

               document.querySelector('.days').innerHTML = days;

               document.querySelector('.hours').innerHTML = hours;

               document.querySelector('.minutes').innerHTML = minutes;

               document.querySelector('.seconds').innerHTML = seconds;

               document.querySelector('.days_ref').innerHTML = ref_days;

               document.querySelector('.hours_ref').innerHTML = ref_hours;

               document.querySelector('.minutes_ref').innerHTML = ref_minutes;

               document.querySelector('.seconds_ref').innerHTML = ref_seconds;

           };

           // start

           var interval = setInterval(countdown, );

       })();

jq中$("pwdId");什么意思

       如果有源码建议贴出部分 $("")该语法通常是选择dom节点的  但是没有任何的前缀或伪类的标识也不是dom节点名称 不能给予肯定的答案

       还请完善一下

为什么多加了 $(document).ready(function() { })就显示不出提示信息,不加可以显示提示信息?

       第一个是网页运行完成准备加载,在js与jq混合使用的时候不建议这样呢,因为你的jq属于外部加载,blur属于js内置加载,一种原因是js与其他插件混合加载,没声明方法导致的

       例如一个jQ方法放在前,jQuery 源码在后就会报错,或者警告