2016-09-18 61 views
0

這兩個文件準備工作正常,我只想在一個。融合兩個類似的文件,準備好不同的類

我的目標是有.flipperfr.click只適用於.flip1fr,.flipfr

,只有在.flip1en .flipperen.click工作,.flipen

,因爲當我把它們放在一起.flipperfr .click或.flipperen.click上的作品

所有類。這裏是我的兩個JS功能:

$(document).ready(function() { 
var $flips = $('.flip1fr, .flipfr '); 
$(".flipperfr").click(function() { 
var $cur = $(this).next().stop().slideToggle("fast"); 
$flips.not($cur).stop().slideUp() 
}); 
}); 


$(document).ready(function() { 
var $flips = $('.flip1en, .flipen '); 
$(".flipperen").click(function() { 
var $cur = $(this).next().stop().slideToggle("fast"); 
$flips.not($cur).stop().slideUp() 
}); 
}); 

UPDATE 它不工作,但一開始我想用一個簡單的方法,如:

$(document).ready(function() { 
var $flips = $('.flip1fr, .flipfr '); $('.flip1en, .flipen '); 
$(".flipperfr"); $(".flipperen").click(function() { 
var $cur = $(this).next().stop().slideToggle("fast"); 
$flips.not($cur).stop().slideUp() 
}); 
}); 

,因爲只有這部分是

var $flips = $('.flip1fr, .flipfr '); $(".flipperfr").click(function() { 
var $flips = $('.flip1en, .flipen '); $(".flipperen").click(function() { 

UPDATE2,這裏的問題是,所有的工作正常,但只從一邊,當我去翻轉peren另一塊保持可見,並且不像flipperfr那樣隱藏。我做錯事情了 ?

$(document).ready(function() { 
var $flips = $('.flip1fr, .flipfr '); 
var $flips = $('.flip1en, .flipen '); 
$(".flipperfr, .flipperen").click(function() { 
var $cur = $(this).next().stop().slideToggle("fast"); 
$flips.not($cur).stop().slideUp() 
}); 
}); 

OR

$(document).ready(function() { 
var 
$flips = $('.flip1fr, .flipfr '); 
$flips = $('.flip1en, .flipen '); 
$(".flipperfr, .flipperen").click(function() { 
var $cur = $(this).next().stop().slideToggle("fast"); 
$flips.not($cur).stop().slideUp() 
}); 
}); 

回答

0

也許這樣的事情

$(document).ready(function() { 
    var $flips = { 
    fr: $('.flip1fr, .flipfr '), 
    en: $('.flip1en, .flipen ') 
    } 

    $(".flipperfr, .flipperen").click(function() { 
    var lang = $(this).hasClass('flipperfr') ? 'fr' : 'en'; 
    var $cur = $(this).next().stop().slideToggle("fast"); 
    $flips[lang].not($cur).stop().slideUp(); 
    // or without $flips 
    $('.flip1' +lang + ', .flip' +lang).not($cur).stop().slideUp(); 
    }); 
}); 
+0

它工作正常,但爲什麼結構是由兩個獨立的功能如此不同? – coolio83000

+0

你是什麼意思不同?請顯示你是如何試圖做到這一點,造成問題 – charlietfl

+0

看到我的問題,我添加了一些東西;) – coolio83000