打开/关闭菜单
Toggle preferences menu
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Gadget-collapsed.js:修订间差异

MediaWiki界面页面
无编辑摘要
无编辑摘要
第2行: 第2行:
     $('.collpased-container').each(function (i,v) {
     $('.collpased-container').each(function (i,v) {
         $(this).attr('id','collapsed-'+i)
         $(this).attr('id','collapsed-'+i)
        $(this).attr('defHeight',$('.data-folded').height())
         $(this).bind('click',function(){
         $(this).bind('click',function(){
         toggleCollapse('#collapsed-'+i)
         toggleCollapse('#collapsed-'+i)
第7行: 第8行:
     })
     })
}
}
function openAllCollapse(){
 
    $('.collpased-container').each(function () {
        openCollapse($(this))
    })
}
function openCollapse(obj){
    var temp = $('<div class="collpased-temp"></div>')
    temp.html(obj.children('.collpased-content').html())
    temp.css('display','none')
    temp.appendTo(obj)
    var defHeight = $('.collpased-temp').height()
    var slideHeight = 0;
    var curHeight = obj.children('.collpased-content').height();
    var move = 3+obj.children('.collpased-head').height()/2
    console.log(curHeight)
    if(curHeight===slideHeight){
        obj.addClass('blue-border')
        obj.children('.collpased-a').css('display','none')
        // obj.children('.collpased-head').animate({
        //    top: '-='+move+'px',
        // }, "normal");
        obj.children('.collpased-content').animate({
            height: defHeight
        }, "normal");
        obj.children('.collpased-a').html('▲点击收起▲');
        obj.children('.collpased-a').fadeIn('fast')
    }
}
function closeAllCollapse(){
    $('.collpased-container').each(function () {
        closeCollapse($(this))
    })
}
function closeCollapse(obj){
    var temp = $('<div class="collpased-temp"></div>')
    temp.html(obj.children('.collpased-content').html())
    temp.css('display','none')
    temp.appendTo(obj)
    var defHeight = $('.collpased-temp').height()
    var slideHeight = 0;
    var curHeight = obj.children('.collpased-content').height();
    var move = 3+obj.children('.collpased-head').height()/2
    console.log(curHeight)
    if(curHeight!==slideHeight){
        obj.children('.collpased-a').css('display','none')
        obj.removeClass('blue-border')
        // obj.children('.collpased-head').animate({
        //    top: '+='+move+'px',
        //    border: '1px solid red'
        // }, "normal");
        obj.children('.collpased-content').animate({
            height: slideHeight
        }, "normal");
        obj.children('.collpased-a').html('▼点击展开▼');
        obj.children('.collpased-a').fadeIn('fast')
    }
}
function toggleCollapse(selector, openSpeed, closeSpeed){
function toggleCollapse(selector, openSpeed, closeSpeed){
     openSpeed = openSpeed !== undefined ? openSpeed : 'fast'
     openSpeed = openSpeed !== undefined ? openSpeed : 'fast'
     closeSpeed = closeSpeed !== undefined ? closeSpeed : 'fast'
     closeSpeed = closeSpeed !== undefined ? closeSpeed : 'fast'
     var defaultHeight = $('.data-folded').height()
    selector = $(selector)
     var defaultHeight = selector.attr('defHeight')
     var paddingHeight = 10
     var paddingHeight = 10
    selector = $(selector)
 
     var targetHeight = defaultHeight + paddingHeight + selector.children('.collpased-content').height()
     var targetHeight = defaultHeight + paddingHeight + selector.children('.collpased-content').height()
     var currentHeight = selector.height()
     var currentHeight = selector.height()

2023年2月10日 (五) 18:29的版本

function bindCollpase() {
    $('.collpased-container').each(function (i,v) {
        $(this).attr('id','collapsed-'+i)
        $(this).attr('defHeight',$('.data-folded').height())
        $(this).bind('click',function(){
        	toggleCollapse('#collapsed-'+i)
        })
    })
}

function toggleCollapse(selector, openSpeed, closeSpeed){
    openSpeed = openSpeed !== undefined ? openSpeed : 'fast'
    closeSpeed = closeSpeed !== undefined ? closeSpeed : 'fast'
    selector = $(selector)
    var defaultHeight = selector.attr('defHeight')
    var paddingHeight = 10
   
    var targetHeight = defaultHeight + paddingHeight + selector.children('.collpased-content').height()
    var currentHeight = selector.height()
    if(defaultHeight === currentHeight){
        selector.animate({
            height: targetHeight
        }, openSpeed,function () {
            selector.removeClass('data-folded')
            selector.css('height','auto')
        });

    }else {
        selector.animate({
            height: defaultHeight
        }, closeSpeed);
        selector.addClass('data-folded')
    }
}

function tollgeAllCo(){
    $('.collpased-a').each(function () {
        $(this).click()
    })
}
bindCollpase()