//页面加载完就执行
$(function(){ //自动根据url把当前菜单激活
var page_id = GetQueryString('page_id');
//如果中没有指定page_id,则判断有没有父目录为0的页面,默认打开第一个
if(!page_id) {
page_id = $(".doc-left li").children("a").attr("data-page-id");
};
if(page_id !=null && page_id.toString().length>0)
{
var str = 'page_id='+page_id;
$(".doc-left li").each(function(){
url = $(this).children("a").attr("href");
//如果链接中包含当前url的信息,两者相匹配
if (url && url.indexOf(str) >= 0 ) {
//激活菜单
$(this).addClass("active");
//如果该菜单是子菜单,则还需要把父菜单打开才行
if ($(this).parent('.child-ul')) {
$(this).parent('.child-ul').show();
$(this).parent('.child-ul').parent('li').children("a").children('i').attr("class","icon-chevron-down");
};
//获取对应的page_id
page_id = $(this).children("a").attr("data-page-id");
if (page_id != '' && page_id !='#') {
change_page(page_id)
};
};
})
} //根据屏幕宽度进行响应(应对移动设备的访问)
if( isMobile()){
AdaptToMobile();
} $(window).resize(function(){
if( isMobile()){
AdaptToMobile();
} else if($(window).width() < 600){
AdaptToMobile();
}else{
window.location.reload();
}
}); //js获取url参数
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
} function AdaptToMobile(){
$(".doc-left").removeClass("span3");
$(".doc-left").css("width",'100%');
$(".doc-left").css("height",'initial');
$(".doc-left").css("min-height",'0px');
$(".doc-right").removeClass("span12");
$(".doc-head .right").hide();
$(".page-edit-link").html('');
$(".doc-left-newbar").html('');
$(".iframe_content").css("padding-left","30px");
$(".doc-left .nav-list li a i ").css("margin-left" , '10px');
$(".search-input-append").css("width","100%");
$(".search-query-input").css("width","70%"); } function mScroll(id){
$("html,body").stop(true);
$("html,body").animate(
{scrollTop: $("#"+id).offset().top},
2000);
} //点击左侧菜单事件
$(".doc-left li").click(function(){
//先把所有菜单的激活状态取消
$(".doc-left li").each(function(){
$(this).removeClass("active");
});
//先判断是否存在子菜单
if ($(this).children('.child-ul').length != 0) {
//如果子菜单是隐藏的,则显示之;如果是显示状态的,则隐藏
if ($(this).children('.child-ul').css("display") == "none") {
$(this).children('.child-ul').show();
$(this).children("a").children('i').attr("class","icon-chevron-down");
}else{
$(this).children('.child-ul').hide();
$(this).children("a").children('i').attr("class","icon-chevron-right");
}
};
//获取对应的page_id
page_id = $(this).children("a").attr("data-page-id");
if (page_id != '' && page_id != null && page_id !='#') {
change_page(page_id);
//如果是移动设备的话,则滚动页面
if( isMobile()){
mScroll("page-content");
}
};
return false;//禁止原有的href链接
}); //切换页面;
function change_page(page_id){
if(!page_id)return;
var item_id = $("#item_id").val();
var base_url = $("#base_url").val();
$(".page-edit-link").show();
$("#page-content").attr("src" , base_url+"/Home/page/index?page_id="+page_id);
$("#edit-link").attr("href" , base_url+"/Home/page/edit?page_id="+page_id);
$("#copy-link").attr("href" , base_url+"/Home/page/edit?item_id="+item_id+"&copy_page_id="+page_id);
$("#share-page-link").html("http://"+window.location.host+base_url+"/"+item_id+"?page_id="+page_id);
$("#delete-link").attr("href" , base_url+"/Home/page/delete?page_id="+page_id);
} //分享项目
$("#share").click(function(){
$("#share-modal").modal();
return false;
}); //分享页面
$("#share-page").click(function(){
$("#share-page-modal").modal();
return false;
}); var ifr = document.getElementById('page-content')
ifr.onload = function() {
var iDoc = ifr.contentDocument || ifr.document
var height = calcPageHeight(iDoc)
ifr.style.height = height + 'px'
} // 计算页面的实际高度,iframe自适应会用到
function calcPageHeight(doc) {
var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight)
var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight)
var height = Math.max(cHeight, sHeight)
return height
} var keyMap = {
// 编辑
"Ctrl+E": function() {
location.href = $("#edit-link").attr('href');
},
// 删除
"Ctrl+D": function() {
if (confirm('确认删除吗?'))
location.href = $("#delete-link").attr('href');
},
// 新建页面
"Ctrl+F1": function() {
location.href = $("#new-like").attr('href');
},
// 新建目录
"Ctrl+F2": function() {
location.href = $("#dir-like").attr('href');
}
};
if (!isMobile()) initKeys();
function initKeys() {
var $doc = $(document);
$.each(keyMap, function(key, fn) {
$doc.on('keydown', null, key, function(e) {
e.preventDefault();
fn();
return false;
});
});
} })

  

showdoc.js代码的更多相关文章

  1. Firebug调试js代码

    Firebug功能异常强大,不仅可以调试DOM,CSS,还可以调试JS代码,下面介绍一下调试JS. 1.认识console对象 console对象是Firebug内置的对象,该对象可以在代码中写入,可 ...

  2. 浏览器控制台js代码与后台不同步

    原因:浏览器会缓存js 如果是将js代码直接通过<script>标签插入jsp页面中则不存在这个问题 在加载页面的时候会重新加载js代码 如果直接将js代码以文件的形式引入,那么每次在修改 ...

  3. js封装的三级联动菜单(使用时只需要一行js代码)

    前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大 ...

  4. 阻止pc端浏览器缩放js代码

    阻止pc端浏览器缩放js代码 众所周知:移动端页面禁止用户缩放界面只需加上<meta name="viewport" content="user-scalable= ...

  5. 还原网站上压缩的js代码

    还原网站上压缩的js代码 我们经常可以看到一些网站,把所需的javascript代码压缩成一行,就像下图这样 这种代码浏览器能读懂,但正常人是没法阅读的. 既然浏览器能读,浏览器当然也能还原这段代码. ...

  6. 我们为什么要看《超实用的Node.JS代码段》

    不知道自己Node.JS水平如何?看这张图 如果一半以上的你都不会,必须看这本书,一线工程师用代码和功能页面来告诉你每一个技巧点. 都会一点,但不知道如何检验自己,看看本书提供的面试题: 1.     ...

  7. 如何添加商*通新对话快捷链接?不用js代码

    我们在使用商务通一般都是在页面中嵌入一段js代码,如果您是js洁癖,是不是在想着如何直接用一张小图加上商*通新对话链接来代替呢?好,那就一起来研究一下吧. 首先,我们打开一个有商*通js弹窗的页面,比 ...

  8. JS代码判断IE6,IE7,IE8,IE9!

    JS代码判断IE6,IE7,IE8,IE9!2011年12月15日 星期四 14:01做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代 ...

  9. Edge.js:让.NET和Node.js代码比翼齐飞

    通过Edge.js项目,你可以在一个进程中同时运行Node.js和.NET代码.在本文中,我将会论述这个项目背后的动机,并描述Edge.js提供的基本机制.随后将探讨一些Edge.js应用场景,它在这 ...

随机推荐

  1. 【Python算法】列表中的 append 比 insert 效率高的实质

    append 与 insert 对比: # append 操作 >>> count = 10**5 >>> nums = [] >>> for i ...

  2. Java 之单例设计模式

    设计模式: 对问题行之有效的解决方式, 其实它是一种思想. 单例设计模式 解决的问题:就是可以保证一个类在内存中的对象唯一性. 即单个实例. 比如对于A 和 B 两个程序使用同一个配置信息对象时, A ...

  3. Apache配置HTTPS的过程小记

    一.HTTPS的summery,综述,它的基本原理,扫肓. http://www.codeceo.com/article/https-knowledge.html 读过后,就明白https怎么加密的, ...

  4. String trim 坑 对于ascii码为160的去不掉

    大家在使用string   的trim去除空格的时候,要注意一个坑呀,对于ascii码为160的去不掉 import java.util.Arrays; /** * Created by bjchen ...

  5. 我的Android进阶之旅------>解决Android Studio全局搜索搜不到结果的问题

    1.问题描述 今天使用Android Studio时,想通过使用快捷键Ctrl+Shift+F来进行全局搜索指定字符串,如下图所示:想搜索字符串"码农偷懒了", 打开string. ...

  6. android应用程序优化之布局优化

    在我们开发APP时不仅要在代码实现上.做到对App的优化,而在我们的界面布局也有很多要优化的地方,假设布局写的非常low的话,系统载入布局的速度会十分的慢,使得用户的体验非常的不好.这篇文章主要是从我 ...

  7. 007-Centos 7.x 安装 Mysql 5.7.13

    1. 下载mysql的repo源 CentOS 7.2的yum源中默认没有mysql,要先下载mysql的repo源 wget http://repo.mysql.com/mysql57-commun ...

  8. ngs中reads mapping-pku的生信课程

    4.NGS中的reads mapping 顾名思义,就是将测序的得到的DNA定位在基因组上. 因为二代测序的得到的序列是较短的,reads mapping很好地解决了这个问题. 本质上reads ma ...

  9. Hadoop源码如何查看

    如何查看hadoop源码 1解压hadoop安装压缩文件成为文件夹,再进入解压后的文件夹下的src文件夹,选中core,hdfs,mapred三个文件夹

  10. Java io流详解一

    原文地址http://www.cnblogs.com/xdp-gacl/p/3634409.html java基础学习总结——流 一.JAVA流式输入/输出原理