1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
| <!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="Author" content="Daniel Hagnoul">
<meta name="description" content="Page type">
<title>Page type</title>
<link rel="stylesheet" type="text/css" href="../lib/jqueryui/css/humanity/jquery-ui-1.8.1.custom.css">
<style>
/* BASE */
body {
background-color:#dcdcdc;
color:#000000;
font-family:sans-serif;
font-size:medium;
font-style:normal;
font-weight:normal;
line-height:normal;
letter-spacing:normal;
}
h1,h2,h3,h4,h5 {
font-family:serif;
}
div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img {
margin:0px;
padding:0px;
}
p {
padding:6px;
}
ul,ol,dl {
list-style:none;
padding-left:6px;
padding-top:6px;
}
li {
padding-bottom:6px;
}
div#conteneur {
width:95%;
margin:12px auto;
padding:6px;
background-color:#FFFFFF;
color:#000000;
border:1px solid #666666;
font-size:0.8em;
}
div#affiche {
margin:12px;
padding:6px;
border:1px solid #999999;
background-color:#FFFFFF;
color:#000000;
}
/* TEST */
</style>
<script charset="utf-8" src="../lib/jqueryui/js/jquery-1.4.2.min.js"></script>
<script charset="utf-8" src="../lib/jqueryui/js/jquery-ui-1.8.1.custom.min.js"></script>
<script>
/*
Le code est simple mais suffisant.
Pour obtenir le bug, changez les places des deux onglets, fermez en un en cliquant sur la croix et observez : c'est l'autre onglet qui est fermé.
Essayez de supprimer un onglet par la fonction remove après l'avoir déplacer grâce au sortable : un autre est supprimé à sa place !
Cela est dû au fait que tabs ne prend pas en compte les changements d'index du DOM.
*/
$(function(){
var $tabs = $('#tabs').tabs({
tabTemplate: '<li><a href="#{href}">#{label}</a> <span class="ui-icon ui-icon-close closeIcon">Remove Tab</span></li>',
});
$('#tabs span.closeIcon').live('click',function() {
/*
var index = $('li',$tabs).index($(this).parent());
// Test, pour s'assurer que l'on traite le bon onglet
$('li',$tabs).eq(index).css({
fontSize:"2em",
fontWeight:"bold",
color:"red"
});
// le problème est ici !
//$tabs.tabs('remove', 1);
*/
$($(this).prev().attr("href")).remove();
$(this).parent().remove();
});
$("#tabs").tabs().find(".ui-tabs-nav").sortable({axis:'x', items: "li"});
});
</script>
</head>
<body>
<div id="conteneur">
<div id="tabs">
<ul>
<li><a href="#tabs-1">Tab 1</a> <span class="ui-icon ui-icon-close closeIcon">Remove Tab</span></li>
<li><a href="#tabs-2">Tab 2</a> <span class="ui-icon ui-icon-close closeIcon">Remove Tab</span></li>
<li><a href="#tabs-3">Tab 3</a> <span class="ui-icon ui-icon-close closeIcon">Remove Tab</span></li>
<li><a href="#tabs-4">Tab 4</a> <span class="ui-icon ui-icon-close closeIcon">Remove Tab</span></li>
</ul>
<div id="tabs-1">
Contenu du tab 1
</div>
<div id="tabs-2">
Contenu du tab 2
</div>
<div id="tabs-3">
Contenu du tab 3
</div>
<div id="tabs-4">
Contenu du tab 4
</div>
</div>
</div>
</body>
</html> |
Partager