选择器-新浪下拉菜单

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script src="/新中地js/Jquery/jquery.min.js"></script>
  9. <style>
  10. .nav ul{
  11. width: 200px;
  12. height: 200px;
  13. background-color: red;
  14. display: none;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <ul class="nav">
  20. <li>
  21. <a href="">hello</a>
  22. <ul>
  23. <li>my</li>
  24. <li>your</li>
  25. <li>her</li>
  26. </ul>
  27. </li>
  28. <li>
  29. <a href="">hello</a>
  30. <ul>
  31. <li>my</li>
  32. <li>your</li>
  33. <li>her</li>
  34. </ul>
  35. </li>
  36. </ul>
  37. <script>
  38. $(function(){
  39. $('.nav>li').mouseover(function(){
  40. //1.鼠标经过
  41. //2.找到要添加事件的元素 nav下的li下所有的子标签(a)
  42. $(this).children('ul').show()//--this代表当前所代表的li元素
  43. })
  44. //3.鼠标离开
  45. $('.nav>li').mouseout(function(){
  46. $(this).children('ul').hide()//--光标移到哪this就代表那个li(dom)
  47. })
  48. })
  49. </script>
  50. </body>
  51. </html>

运行结果

image.png

淘宝精品服饰

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
  7. <style type="text/css">
  8. * {
  9. margin: 0;
  10. padding: 0;
  11. font-size: 12px;
  12. }
  13. ul {
  14. list-style: none;
  15. }
  16. a {
  17. text-decoration: none;
  18. }
  19. .wrapper {
  20. width: 250px;
  21. height: 248px;
  22. margin: 100px auto 0;
  23. border: 1px solid pink;
  24. border-right: 0;
  25. overflow: hidden;
  26. }
  27. #left,
  28. #content {
  29. float: left;
  30. }
  31. #left li {
  32. background: url(images/lili.jpg) repeat-x;
  33. }
  34. #left li a {
  35. display: block;
  36. width: 48px;
  37. height: 27px;
  38. border-bottom: 1px solid pink;
  39. line-height: 27px;
  40. text-align: center;
  41. color: black;
  42. }
  43. #left li a:hover {
  44. background-image: url(images/abg.gif);
  45. }
  46. #content {
  47. border-left: 1px solid pink;
  48. border-right: 1px solid pink;
  49. }
  50. </style>
  51. <script src="jquery.min.js"></script>
  52. </head>
  53. <body>
  54. <div class="wrapper">
  55. <ul id="left">
  56. <li><a href="#">女靴</a></li>
  57. <li><a href="#">雪地靴</a></li>
  58. <li><a href="#">冬裙</a></li>
  59. <li><a href="#">呢大衣</a></li>
  60. <li><a href="#">毛衣</a></li>
  61. <li><a href="#">棉服</a></li>
  62. <li><a href="#">女裤</a></li>
  63. <li><a href="#">羽绒服</a></li>
  64. <li><a href="#">牛仔裤</a></li>
  65. </ul>
  66. <div id="content">
  67. <div>
  68. <a href="#"><img src="images/女靴.jpg" width="200" height="250" /></a>
  69. </div>
  70. <div>
  71. <a href="#"><img src="images/雪地靴.jpg" width="200" height="250" /></a>
  72. </div>
  73. <div>
  74. <a href="#"><img src="images/冬裙.jpg" width="200" height="250" /></a>
  75. </div>
  76. <div>
  77. <a href="#"><img src="images/呢大衣.jpg" width="200" height="250" /></a>
  78. </div>
  79. <div>
  80. <a href="#"><img src="images/毛衣.jpg" width="200" height="250" /></a>
  81. </div>
  82. <div>
  83. <a href="#"><img src="images/棉服.jpg" width="200" height="250" /></a>
  84. </div>
  85. <div>
  86. <a href="#"><img src="images/女裤.jpg" width="200" height="250" /></a>
  87. </div>
  88. <div>
  89. <a href="#"><img src="images/羽绒服.jpg" width="200" height="250" /></a>
  90. </div>
  91. <div>
  92. <a href="#"><img src="images/牛仔裤.jpg" width="200" height="250" /></a>
  93. </div>
  94. </div>
  95. </div>
  96. <script>
  97. $(function(){
  98. //1
  99. $('#left li').mouseover(function(){
  100. var index = $(this).index()
  101. console.log(index);
  102. //2
  103. $('#content div').eq(index).show().siblings().hide()
  104. })
  105. })
  106. </script>
  107. </body>
  108. </html>

运行结果

image.png

dom—qq表情选择

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>QQ表情选择</title>
  6. <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
  7. <style type="text/css">
  8. *{margin: 0;padding: 0;list-style: none;}
  9. .emoji{margin:50px;}
  10. ul{overflow: hidden;}
  11. li{float: left;width: 48px;height: 48px;cursor: pointer;}
  12. .emoji img{ cursor: pointer; }
  13. </style>
  14. <script>
  15. //需求:点击qq表情,将其追加到发言框中
  16. $(function (){
  17. //给img标签添加点击事件
  18. $('li img').click(function(){
  19. //将选中的图片追加到p后面
  20. $('.word').append($(this).clone()) //复制之后的元素添加到p后面
  21. })
  22. });
  23. </script>
  24. </head>
  25. <body>
  26. <div class="emoji">
  27. <ul>
  28. <li><img src="/新中地js/Jquery/QQ表情/01.gif" height="22" width="22" alt="" /></li>
  29. <li><img src="/新中地js/Jquery/QQ表情/02.gif" height="22" width="22" alt="" /></li>
  30. <li><img src="/新中地js/Jquery/QQ表情/03.gif" height="22" width="22" alt="" /></li>
  31. <li><img src="/新中地js/Jquery/QQ表情/04.gif" height="22" width="22" alt="" /></li>
  32. <li><img src="/新中地js/Jquery/QQ表情/05.gif" height="22" width="22" alt="" /></li>
  33. <li><img src="/新中地js/Jquery/QQ表情/06.gif" height="22" width="22" alt="" /></li>
  34. <li><img src="/新中地js/Jquery/QQ表情/07.gif" height="22" width="22" alt="" /></li>
  35. <li><img src="/新中地js/Jquery/QQ表情/08.gif" height="22" width="22" alt="" /></li>
  36. <li><img src="/新中地js/Jquery/QQ表情/09.gif" height="22" width="22" alt="" /></li>
  37. <li><img src="/新中地js/Jquery/QQ表情/10.gif" height="22" width="22" alt="" /></li>
  38. <li><img src="/新中地js/Jquery/QQ表情/11.gif" height="22" width="22" alt="" /></li>
  39. <li><img src="/新中地js/Jquery/QQ表情/12.gif" height="22" width="22" alt="" /></li>
  40. </ul>
  41. <p class="word">
  42. <strong>请发言:</strong>
  43. <img src="/新中地js/Jquery/QQ表情/12.gif" height="22" width="22" alt="" />
  44. </p>
  45. </div>
  46. </body>
  47. </html>

运行结果

image.png

Todolist案例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. }
  13. li {
  14. list-style: none;
  15. }
  16. a {
  17. text-decoration: none;
  18. }
  19. .todo {
  20. width: 400px;
  21. margin: 50px auto;
  22. }
  23. .todo .header {
  24. height: 40px;
  25. line-height: 40px;
  26. padding: 0 20px;
  27. color: #fff;
  28. background: skyblue;
  29. }
  30. .todo .header input {
  31. height: 30px;
  32. padding-left: 10px;
  33. color: #333;
  34. border: none;
  35. outline: none;
  36. }
  37. .todo .list {
  38. min-height: 100px;
  39. margin-top: 20px;
  40. border: 1px solid #ccc;
  41. }
  42. .todo .list li {
  43. margin: 10px 0;
  44. padding: 5px 20px;
  45. background-color: #eee;
  46. }
  47. .todo .list p {
  48. display: inline-block;
  49. width: 300px;
  50. }
  51. .todo .list a {
  52. float: right;
  53. }
  54. </style>
  55. </head>
  56. <body>
  57. <div class="todo">
  58. <div class="header">
  59. 添加待办: <input id="add" type="text" placeholder="按回车添加待办" />
  60. </div>
  61. <div class="list">
  62. <ul>
  63. <!-- 动态生成类似这样的标签 -->
  64. <!-- <li><p>111</p><a href="#">删除</a></li>
  65. <li>222 <a href="#">删除</a></li>
  66. <li>333 <a href="#">删除</a></li> -->
  67. </ul>
  68. </div>
  69. </div>
  70. <script>
  71. // 添加操作--给input绑定键盘松开事件
  72. $('#add').keyup(function(e){
  73. if(e.keyCode == 13){
  74. //1--获取文本框内容
  75. var value = $(this).val()
  76. //判断,如果文本框没有内容,直接返回
  77. if(value == ''){
  78. return
  79. }
  80. //2--文本填充到p标签并封装成li标签
  81. var li = `<li><p>${value}</p><a href="#">删除</a></li>`
  82. //3--将生成的li内容插入ul前
  83. $('ul').append(li)
  84. //4--添加完成后清空文本框的内容
  85. $(this).val('')
  86. }
  87. })
  88. // 修改操作
  89. // 通过on绑定DOM元素, 动态生成的DOM元素也可以绑定事件
  90. $('ul').on('click','p',function(){
  91. //1--获取li中的p标签
  92. var p = $(this)
  93. console.log(this);//this代表p标签
  94. //2--获取p里的文本
  95. var text = p.text()
  96. //3--获取到的文本包裹在input中
  97. var input = $(`<input type="text" style="width:100%" value="${text}"></input>`)
  98. //4--重新添加到p里面
  99. p.html(input)
  100. //5--组织input冒泡
  101. input.click(function(e){
  102. e.stopPropagation()
  103. return false //加上return false,进一步组织冒泡
  104. })
  105. //6==在input失去焦点的时候,将文本框中的值取出来赋给p
  106. input.blur(function(){
  107. p.html(this.value)//这里面的this代表文本框
  108. })
  109. })
  110. // 删除操作
  111. /* $('li a').click(function(){
  112. //找到a标签的父类
  113. $(this).parent().remove()
  114. })
  115. */
  116. $('ul').on('click','a',function(){//一定要用静态的标签来调用
  117. //找到a标签的父类
  118. $(this).parent().remove()//this代表a标签
  119. })
  120. </script>
  121. </body>
  122. </html>

运行结果

image.png