为什么点击按钮后无法显示?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>下拉菜单组件</title>
<link rel="stylesheet" href="css/base.css" />
<style type="text/css">
body {
background-color: gray;
}
.dropdown {
position: relative;
}
.dropdown-toggle {
position: relative;
z-index: 2;
}
.dropdown-arrow {
display: inline-block;
/*background-repeat: no-repeat;*/
vertical-align: middle;
}
.dropdown-layer {
display: none;
position: absolute;
z-index: 1;
overflow: hidden;
}
.dropdown-left {
left: 0;
right: auto;
}
.dropdown-right {
right: 0;
left: auto;
}
/*.menu .dropdown*/
.menu .dropdown-toggle {
display: block;
height: 100%;
padding: 0 16px 0 12px;
border-left: 1px solid #f3f5f7;
border-right: 1px solid #f3f5f7;
}
.menu .dropdown-arrow {
/*width: 8px;
height: 6px;
background-image: url(../img/dropdown-arrow.png);*/
margin-left: 8px;
}
.menu .dropdown-layer {
top: 100%;
background-color: #fff;
border: 1px solid #cdd0d4;
}
.menu-item {
display: block;
height: 30px;
line-height: 30px;
padding: 0 20px;
color: #4d555d;
white-space: nowrap;
}
.menu-item:hover {
background-color: #f3f5f7;
}
.menu-active .dropdown-toggle {
background-color: #fff;
border-color: #cdd0d4;
}
.menu-active .dropdown-arrow {
/*background-image: url(../img/dropdown-arrow-active.png);*/
}
/*.menu-active .dropdown-layer {
display: block;
}*/
/* css 绘制箭头
.icon-triangle-down{
width:0px;
height:0px;
border:4px solid #535b62;
border-right-color:transparent;
_border-right-color:yellow;
border-left-color: transparent;
_border-left-color:yellow;
border-bottom: none;
}
.menu-active .icon-triangle-down{
border-top: none;
border-bottom:4px solid #f11c1c;
}*/
@font-face {
font-family: "iconfont";
src: url('font/iconfont.eot?t=1477124206');
/* IE9*/
src: url('font/iconfont.eot?t=1477124206#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('font/iconfont.woff?t=1477124206') format('woff'), /* chrome, firefox */
url('font/iconfont.ttf?t=1477124206') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('font/iconfont.svg?t=1477124206#iconfont') format('svg');
/* iOS 4.1- */
}
.icon {
font-family: "iconfont" !important;
font-size: 14px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
/*单独菜单旋转*/
/* .menu-active .dropdown-arrow {
-o-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}*/
/*多菜单旋转*/
[class*="-active"] .dropdown-arrow {
-o-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
.transition {
-o-transition: all 0.5s;
-ms-transition: all 0.5s;
-moz-transition: all 0.5s;
-webkit-transition: all 0.5s;
transition: all 0.5s;
}
.fadeOut {
visibility: hidden !important;
opacity: 0 !important;
}
.slideUpDownCollapse {
height: 0 !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.slideLeftRightCollapse {
width: 0 !important;
padding-left: 0 !important;
padding-right: 0 !important;
}
.dropdown-loading{
width:32px;
height: 32px;
background: url(../img/loading.gif) no-repeat;
margin: 20px;
}
</style>
</head>
<body>
<!-- 通用html代码
<div class="menu dropdown">
<div class="dropdown-toggle">我的慕淘<i class="dropdown-arrow"></i></a>
<div class="dropdown-layer dropdown-left">
</div>
</div> -->
<!-- <div class="menu dropdown fl" data-active="menu">
<a class="dropdown-toggle">我的慕淘<i class="dropdown-arrow"></i></a>
<ul class="dropdown-layer dropdown-left">
<li><a href="###" target="_blank" class="menu-item">已买到的宝贝</a></li>
<li><a href="###" target="_blank" class="menu-item">我的足迹</a></li>
</ul>
</div> -->
<div class="menu dropdown fl" data-active="menu" data-load="dropdown.json">
<a href="javascript:;" class="dropdown-toggle">我的慕淘<i class="dropdown-arrow icon transition"></i></a>
<ul class="dropdown-layer dropdown-left">
<li class="dropdown-loading"></li>
<!-- 解决按需加载。使用json文件-->
<!-- <li><a href="###" target="_blank" class="menu-item">已买到的宝贝</a></li>
<li><a href="###" target="_blank" class="menu-item">我的足迹</a></li> -->
</ul>
</div>
<!-- <div class="menu dropdown fl" data-active="menu"> -->
<!-- <a href="javascript:;" class="dropdown-toggle">我的慕淘2<i class="dropdown-arrow icon transition"></i></a> -->
<!-- <ul class="dropdown-layer dropdown-left"> -->
<!-- <li><a href="###" target="_blank" class="menu-item">已买到的宝贝</a></li>
<li><a href="###" target="_blank" class="menu-item">我的足迹</a></li> -->
<!-- </ul> -->
<!-- </div> -->
<!-- <div class="menu dropdown fl" data-active="menu">
<a href="javascript:;" class="dropdown-toggle">我的慕淘2<i class="dropdown-arrow icon transition"></i></a>
<ul class="dropdown-layer dropdown-left">
<li><a href="###" target="_blank" class="menu-item">已买到的宝贝2</a></li>
<li><a href="###" target="_blank" class="menu-item">我的足迹2</a></li>
</ul>
</div>
<div class="menu dropdown fl" data-active="menu">
<a href="javascript:;" class="dropdown-toggle">我的慕淘3<i class="dropdown-arrow icon transition"></i></a>
<ul class="dropdown-layer dropdown-left">
<li><a href="###" target="_blank" class="menu-item">已买到的宝贝3</a></li>
<li><a href="###" target="_blank" class="menu-item">我的足迹3</a></li>
</ul>
</div> -->
<button id='btn-show'>点我显示</button>
<button id='btn-hide'>点我隐藏</button>
<script src="js/jquery.js"></script>
<script src="js/transition.js"></script>
<script src="js/showHide.js"></script>
<script src="js/dropdown.js"></script>
<script type="text/javascript">
// -----简单写法-----
// $('.dropdown').hover(function() {
// var $this=$(this); // 缓存this,以避免重复加载
// $this.addClass($this.data('active')+'-active');
// }, function() {
// var $this=$(this);
// $this.removeClass($this.data('active')+'-active');
// });
//------封装代码方式--------
// function dropdown(elem) {
// var $elem = $(elem),
// activeClass = $elem.data('active') + '-active';
// $elem.hover(function() {
// $elem.addClass(activeClass);
// }, function() {
// $elem.removeClass(activeClass);
// });
// }
//单个下拉菜单 dropdown($('.dropdown')[0])
//多个下拉菜单
// $('.dropdown').each(function(){
// dropdown($(this));
// });
// ------插件方式-------
// function dropdown(elem) {
// var $elem = $(elem),
// activeClass = $elem.data('active') + '-active';
// $elem.hover(function() {
// $elem.addClass(activeClass);
// }, function() {
// $elem.removeClass(activeClass);
// });
// }
// $.fn.extend({
// dropdown:function(){
// return this.each(function(){
// dropdown(this);
// });
// }
// });
// $('.dropdown').dropdown(); // 插件为了更好的调用
// $('.dropdown').on('dropdown-show dropdown-shown dropdown-hide dropdown-hidden',function (e) {
// console.log(e.type);
// })
// $('.dropdown').on('dropdown-show', function(e) {
// var $this=$(this),
// dataLoad=$(this).data('load');
// if(!dataLoad) return;
// // $layer.html('<li class="dropdown-loading"></li>');
// if(!$this.data('loaded')){
// var $layer = $(this).find('.dropdown-layer'),
// html = '';
// $.getJSON(dataLoad, function(data) {
// console.log(1);
// setTimeout(function() {
// for (var i = 0; i < data.length; i++) {
// html += '<li><a href="' + data[i].url + '" target="_blank" class="menu-item">' + data[i].name + '</a></li>'
// }
// $layer.html(html);
// $this.data('loaded',true);
// }, 1000);
// });
// }
// });
$('.dropdown').on('dropdown-show', function (e) {
var $layer=$(this).find('.dropdown-layer'),
html='';
$.getJSON('dropdown.json',function(data){
// console.log(data);
for(var i=0;i<data.length;i++){
html+='<li><a href="'+data[i].url+'" target="_blank" class="menu-item">'+data[i].name+'</a></li>'
}
$layer.html(html);
});
});
$('.dropdown').dropdown({
event: 'hover',
delay: 1000,
css3: true,
js: true,
animation: 'fade'
// active:'menu'
});
$('#btn-show').on('click', function() {
$('.dropdown').dropdown('show');
});
$('#btn-hide').on('click', function() {
$('.dropdown').dropdown('hide');
});
</script>
</body>
</html>
[
{
"url":"###",
"name":"已买到的宝贝"
},
{
"url":"###",
"name":"我的足迹"
},
{
"url":"###",
"name":"我的优惠券"
}
]1
收起
正在回答
2回答
同学你好, 老师在源码中将你的这部分代码粘贴过去, 测试你这段代码, 是可以正常显示的内容的哦,示例:

同学说的不能显示具体是指什么不能显示呢, 可以详细的描述一下做了什么操作哦,或者打开控制台查看是否有报错信息, 如果有问题, 可以截图过来, 再次提问, 我们会继续为你解答的
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~~
qq_鸭绿桥第一帅哥_0
2019-06-18 13:14:39
感谢老师,目前已经可以正常显示了。但是控制台为什么会报错呢?

组件化思想开发电商网页 18版
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星