jQuery进阶

十三. jq书写代码的3种位置

"""js中等待页面加载完毕"""
# 等待页面加载完毕再执行代码
window.onload = function(){
  // js代码
}

"""jQuery中等待页面加载完毕"""
# 第一种
$(document).ready(function(){
  // js代码
})
# 第二种
$(function(){
  // js代码
})
# 第三种
"""直接写在body内部最下方"""

十四. 动画效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <style>
        #d1 {
            height: 1000px;
            width: 400px;
            background-color: red;

        }
    </style>
</head>
<body>
    <div id="d1"></div>

<script>
    /*
    .hide(msec)             // 隐藏
    .show(msec)             // 显示
    .slideUp(msec)          // 向上卷起
    .slideDown(msec)        // 向下展开
    .fadeOut(msec)          // 淡出
    .fadeIn(msec)           // 淡入
    .fadeTo(msec, opacity)  // 透明度渐变 更改透明度值来产生淡入或者淡出效果
    */
    /*
    $('#d1').hide(5000);
    $('#d1').show(5000);
    $('#d1').slideUp(5000);
    $('#d1').slideDown(5000);
    $('#d1').fadeOut(5000);
    $('#d1').fadeIn(5000);
    $('#d1').fadeTo(5000, 0.5);
    */
</script>
</body>
</html>

十五. jq实现类始于js中数组对象方法.forEach()或者.map()的.each方法: 2种.each方法实现方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div id="d1" username="jason">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>

<script>
    /*
    $('div').each(function (index, obj) {});
    $.each($('li'), function (index, obj) {});
    */

    // 第一种写法:
    $('div').each(function (index) {  // 指定一个参数返回索引
        console.log(index);
    });

    $(['aaa', 'bbb', 'ccc']).each(function (index, obj) {  // 也可以指定2个参数, 第二个参数返回遍历对象的索引对应的值.
        console.log(index, obj);
    });

    // 第二种写法:
    $.each($('div'), function (index, obj) {
        console.log(index, obj);  // obj返回了标签对象
    });
</script>
</body>
</html>

十六. jq实现隐藏的标签属性

/*
$('div').data('info', 'value');
$('div').first().data('info');
$('div').last().removeData('info')
*/

$('div').data('info', '回来吧,我原谅你了!');  // 设置让标签帮我们存储数据 并且用户肉眼看不见
$('div').first().data('info');      // 查看
$('div').last().data('info');
$('div').last().removeData('info')  // 移除
$('div').last().data('info');

总结

# jq书写代码的3种位置:
    第一二重: head中, 需要预加载
        $(document).ready(function () {})
        $(function () {})

    第三种: body底部可以直接书写

# 动画效果:  最后display会等于none
    隐藏: jq对象.hide(mesc)
    展现: jq对象.show(mesc)
    上卷: jq对象.slideUp(mesc)
    下展: jq对象.slideDown(mesc)
    淡出: jq对象.fadeIn(mesc)
    淡入: jq对象.fadeOut(mesc)
    透明度渐变: jq对象.fadeTo(mesc, opacity)

# jq实现类始于js中数组对象方法.forEach()或者.map()的.each方法:  2种.each方法实现方式
    第一种:
        $('div').each(function (index, obj) {})
        $([1, 2, 3]).each(function (index, obj) {})
    第二种:
        $.($('div'), function (index, obj) {})
        $.([1, 2, 3], function (index, obj) {})
    提示: 2者对任意类型的对象, 都可以进行遍历, 使用each就替代掉了for循环遍历取值
    参数: index表示获取到的标签对象obj索引位置. obj就是索引对象. 其中index,和obj参数都是可选的.

# jq实现隐藏的标签属性:
    设置: .data(attrName, attrValue)
    获取: .data(attrName)
    删除: .removeData(attrName)

十七. js里定义的$ 和jquery的$冲突解决

// 1. 解决多个库变量名冲突的方法: 将jQuery的$变量控制权交给index.js
jQuery.noConflict(); // Conflict,中文:冲突,读音:[/ˈkɒnflɪkt/]
console.log($);

// 2. JQuery使用自制性函数: 将jQuery对象当作形参赋值给$符
(function($) {
	$(document).ready(function() {
		console.log($);
		// 使用id选择器: 使用jquery下的css方法,为box文本设置红色字体
		$('#box').css('color','red');
	});
})(jQuery);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值