js 点击侧边栏展示内容_左边菜单,点击左边右边内容改变

先写出一个上菜的菜单。 千万记住链接后面的target得要,而且名字需要一样,等会会用到

在内容的区域添加上面代码,插入iframe, 这里的name对应上面链接里面的name, src="index.html", 表示默认页是index.html, 至于后面的那些属性是控制iframe样式的。 以上iframe就告一段落了。

二. 用ajax方法实现点击左边, 右边出现相应的页面。

今年老大叫我做一个后台, 而且他指出别人没有用iframe, 问我行不行。 只能说行。 没有在网上查看过多的资料, 某天晚上突然想起ajax 里面有一个load方法, 这个方法可以载入其他页面的内容。 于是有了灵感, 开始也只是尝试一下:

("li").on('click', function() {

var href = $(this).find("a").attr('href');

$('#mainContents').empty();

$('#mainContents').load("../new/" + href);

//阻止跳转

$(this).parents('li').addClass('active').siblings('li').removeClass('active');

return false;

});

点击li, 找到li里面对应的链接地址,阻止url跳转,然后在内同区域载入找到的url对应的地址。 惊奇的发现,试验了也可行。 然而新问题来了。 用load方法,只能载入已经加载完毕的页面,如果我们的页面没有加载完毕呢, 或者修改了, 怎么办?? 所以还是用ajax 吧。

var menu = $("#menuID>li h2"),

srcLi = menu.next('ul').find('li');

srcLi.on('click', function(e) {

var href = $(this).find("a").attr('href');

$('#mainContents').empty();

$.ajax({

// beforeSend: function(){

// $('#mainContents').html('正在请求');

// },

// complete: function(){

// $('#mainContents').html('加载完毕');

// },

type: "GET",

url: "../new/" + href,

success: function(data) {

$('#mainContents').append(data);

}

});

//阻止跳转

$(this).parents('li').addClass('active').siblings('li').removeClass('active');

return false;

});

menu.on('click', function() {

$(this).next('ul').slideToggle(400);

$(this).stop('false').toggleClass('on');

});

以上的思路, 和开始时候的load方法一样。首先找到每一个li 里面对应的url, 然后清空 右侧的内容, 用ajax动态获取不同的页面, 就追加到右侧的内容中。 阻止跳转。

另外,附上一个相似的代码,这是点击一个树状菜单出来不同的内容。第一次用ajax调用json数据。着实小兴奋了一把。这个与上面说的内容一毛钱的关系也没有,只是为了祭奠一下我的第一次而已

$.ajax({

type: "post",

url: "../new/txt/txt1.json",

dataType: "json",

success: function(data) {

$("#blank").empty();

var employees = data.employees;

$.each(data.employees, function(k, v) {

var tpl1 =

'

' + ' ' + v.职位 + ': ' + ' ' + v.姓名 + ';
' + '
';

$("#blank").append(tpl1);

});

}

})

调用的json数据为

{

"employees": [

{ "姓名": "张三", "职位":"php后台", "email": "aaaa" },

{ "姓名": "李四", "职位":"人事经理", "email": "bbbb" },

{ "姓名": "王五", "职位":"Harold", "email": "cccc" },

{ "姓名": "Isaac", "职位": "Asimov", "genre": "science fiction" },

{ "姓名": "Tad", "职位": "Williams", "genre": "fantasy" },

{ "姓名": "Frank", "职位": "Peretti", "genre": "christian fiction" },

{ "姓名": "Eric", "职位": "Clapton", "instrument": "guitar" },

{ "姓名": "Sergei", "职位": "Rachmaninoff", "instrument": "piano" }

],

"test": [

{ "姓名": "赵六", "职位":"php后台", "email": "aaaa" },

{ "姓名": "齐七", "职位":"人事经理", "email": "bbbb" },

{ "姓名": "王五", "职位":"Harold", "email": "cccc" },

{ "姓名": "Isaac", "职位": "Asimov", "genre": "science fiction" },

{ "姓名": "Tad", "职位": "Williams", "genre": "fantasy" },

{ "姓名": "Frank", "职位": "Peretti", "genre": "christian fiction" },

{ "姓名": "Eric", "职位": "Clapton", "instrument": "guitar" },

{ "姓名": "Sergei", "职位": "Rachmaninoff", "instrument": "piano" }

]

}

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue是一种用于构建用户界面的JavaScript框架,它提供了一种简洁、高效的方式来创建Web应用程序。在Vue中,顶部菜单栏和侧边栏可以通过组件之间的关系进行对应。 首先,我们可以创建一个顶部菜单栏组件,该组件可以包含多个菜单项,每个菜单项对应一个路由。通过使用Vue Router插件,我们可以定义应用程序中不同页面之间的导航。 具体来说,我们可以使用router-link组件将每个菜单项链接到对应的路由。这样,在用户点击菜单项时,vue-router将负责显示与该路由相关的组件内容。 同时,我们也可以创建一个侧边栏组件,该组件用于显示不同页面之间的导航。这个侧边栏可以包含与顶部菜单栏相同的菜单项,并且通过给菜单项绑定点击事件,当用户点击侧边栏菜单项时,我们可以使用Vue Router来跳转到相应的页面。 为了实现顶部菜单栏和侧边栏之间的联动,我们可以使用Vue中提供的事件机制。在顶部菜单栏组件中,我们可以通过$emit方法触发一个自定义事件,并将需要传递的数据作为参数传入。然后,在父组件中监听这个事件,并在事件处理函数中改变侧边栏组件的状态,例如改变菜单项的选中状态。 总结来说,Vue中的顶部菜单栏和侧边栏可以通过组件和事件之间的关系进行对应。通过使用Vue Router来管理不同页面之间的导航,同时利用Vue的事件机制实现联动效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值