1.将以下jq代码转换为原生js
2.jqMobijqMobi与jQuery的源码区别
将以下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、源码hours、源码minutes、源码roc股票指标公式源码seconds分别用于显示天数、源码小时、源码分钟、源码秒,源码days_ref、源码hours_ref、源码minutes_ref、源码英文支付源码seconds_ref分别用于显示单位days或day,源码hours或hour、源码minutes或minute、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, );
})();
jqMobijqMobi与jQuery的区别
jQuery和jqMobi是两种不同的JavaScript库,它们由不同的机构开发。jQuery是源码图片符号由jQuery Foundation创建的,而jqMobi则是appMobi的产物。jqMobi的源代码虽然基于jQuery,但作为独立的产品,它具有独特的特性和优势。
首先,jqMobi在体积和性能上表现出色。爱情树??源码相比于jQuery的k压缩文件大小,jqMobi的文件大小只有5k,这使得它在资源占用上更为节省。根据JSPerf测试,jqMobi在Android设备上的运行速度比jQuery快3倍,在iOS设备上更是快2.2倍,显示出了其高效的性能特性。
在兼容性方面,jqMobi的设计目标主要集中在支持WebKit浏览器的操作系统,如Android、iOS和最新的BlackBerry OS。这个特定的定位使得它在移动端的兼容性上表现出众。例如,jqMobi的1.2版本已经兼容了IE,这意味着它能够良好地运行在Windows 8和Windows Phone 8平台。
然而,jQuery的兼容性则更为广泛,它支持包括IE6在内的更多浏览器。这使得jQuery在需要跨浏览器兼容性的项目中仍然非常有用,尽管在移动设备的优化方面,jqMobi可能更具优势。
2024-11-06 13:39
2024-11-06 13:10
2024-11-06 12:25
2024-11-06 12:20
2024-11-06 12:02
2024-11-06 11:31