


Code d'implémentation de la liste déroulante modifiable basé sur jquery_jquery
Le principe est d'ajouter une zone de texte à un ul pour simuler une zone déroulante, et d'utiliser une police pour simuler un bouton déroulant.
1. Créer des effets statiques
Utilisez d'abord CSS et HTML pour que cela ressemble à ce qu'il devrait être. Voici les deux polices que j'utilise, qui peuvent être créées par vous-même sur le site icomoon. L'avantage d'utiliser des polices est qu'il est très pratique de positionner la zone de saisie, et vous pouvez également contrôler la taille, la couleur, etc. Le seul inconvénient est que IE6 et IE7 ne peuvent pas afficher cette police car ils ne prennent pas en charge le sélecteur :before. , mais cela peut être réalisé par d'autres méthodes. Vous pouvez l'essayer vous-même. Ci-dessous le code html
<span style="display:inline-block;position:relative" class="combox_border"> <input type="text" class="combox_input"/><font class="ficomoon icon-angle-bottom combox_button" style="display:inline-block"></font> <ul style="position:absolute;top:29px;left:-1px" class="combox_select"> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >选项一</a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >选项二</a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >选项三</a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >选项四</a></li> </ul> </span>
1. Il y a du style et de la classe dans la balise. Ce style est un attribut obligatoire et doit avoir
.
2. La partie la plus externe est enveloppée avec span, puis dotée d'un attribut inline-block. La raison pour laquelle les éléments en ligne sont utilisés est pour la commodité de la mise en page future. Il est également possible de les remplacer par des éléments de bloc, mais souvent des éléments de bloc. sera accompagné de float Flottant et d'autres styles sont plus difficiles à contrôler
3. Ficomoon icon-angle-bottom définit la police
4. La position de l'attribut span est relative. Je prévois d'utiliser le positionnement ul pour simuler la liste déroulante. À l'avenir, top pourra obtenir le réglage de la hauteur selon jquery. codé
5. J'ai ajouté une balise a au contenu de li. Je veux juste être paresseux ici. La balise a a une pseudo-classe :hover peut modifier le CSS, donc je peux écrire moins d'effets spéciaux en la déplaçant. au contenu de changer le style.
Ci-dessous le code CSS :
@font-face { font-family: 'icomoon'; src:url('fonts/icomoon.eot?-fl11l'); src:url('fonts/icomoon.eot?#iefix-fl11l') format('embedded-opentype'), url('fonts/icomoon.woff?-fl11l') format('woff'), url('fonts/icomoon.ttf?-fl11l') format('truetype'), url('fonts/icomoon.svg?-fl11l#icomoon') format('svg'); font-weight: normal; font-style: normal; } .ficomoon{font-family:'icomoon';} .icon-angle-top:before {content: "\f102"}.icon-angle-bottom:before {content: "\f103"} /*下面的可根据自己的实际情况做修改*/ .combox_border{border:1px solid #c2c2c2;height:28px;width:245px} .combox_input{border:0;line-height:25px;height:25px;padding-left: 5px;width:85%;vertical-align: middle;} .combox_button{width:12%;text-align:center;vertical-align: middle;cursor:pointer;border-left:1px solid #c2c2c2} .combox_select{border:1px solid #c2c2c2;border-top:0;width:100%} .combox_select li{overflow:hidden;height:30px;line-height:30px;cursor:pointer;} .combox_select a {display: block;line-height: 28px;padding: 0 8px;text-decoration: none;color: #666;} .combox_select a:hover {text-decoration: none;background:#f5f5f5}
Combox_border et d'autres styles ici peuvent être personnalisés, et des styles CSS3 peuvent être ajoutés pour les embellir. J'ai créé un style simple ici.
2. Créer des effets spéciaux JS
Quand je travaillais sur JS, j'ai rencontré un problème étrange, c'est-à-dire qu'aucune erreur ne serait signalée dans aucun navigateur, mais dans IE6, cela provoquerait une erreur de propriétés d'objet non définies. Finalement, j'ai découvert que c'était parce que. du problème d'encodage du fichier js, pas UTF-8, changez simplement l'encodage.
Le premier est un format de plug-in jquery
(function($){ $.fn.combox = function(options) { }; })(jQuery);
Puis ajoutez les paramètres par défaut
var defaults = { borderCss: "combox_border", inputCss: "combox_input", buttonCss: "combox_button", selectCss: "combox_select", datas:[] }; var options = $.extend(defaults, options);
borderCss | 最外面包裹的样式,就是上面的span |
inputCss | 输入框的样式 |
buttonCss | 按钮的样式,就是![]() |
selectCss | 下拉列表的样式 |
datas | 下拉列表中的内容 |
Ensuite, il existe une méthode de rendu
this.each(function() { var _this = $(this); _this = _initBorder(_this);//初始化外框CSS IE6中需要有返回值 _this = _initInput(_this);//初始化输入框 _initSelect(_this);//初始化下拉列表 });
Générez dynamiquement des zones de saisie, des boutons, des listes déroulantes, attachez des styles et des heures. J'ai mis les trois rendus dans trois fonctions respectivement pour que ce soit plus clair
function _initBorder($border) {//初始化外框CSS $border.css({'display':'inline-block', 'position':'relative'}).addClass(options.borderCss); return $border; } function _initInput($border){//初始化输入框 $border.append('<input type="text" class="'+options.inputCss+'"/>'); $border.append('<font class="ficomoon icon-angle-bottom '+options.buttonCss+'" style="display:inline-block"></font>'); //绑定下拉特效 $border.delegate('font', 'click', function() { var $ul = $border.children('ul'); if($ul.css('display') == 'none') { $ul.slideDown('fast'); $(this).removeClass('icon-angle-bottom').addClass('icon-angle-top'); }else { $ul.slideUp('fast'); $(this).removeClass('icon-angle-top').addClass('icon-angle-bottom'); } }); return $border;//IE6需要返回值 } function _initSelect($border) {//初始化下拉列表 $border.append('<ul style="position:absolute;left:-1px;display:none" class="'+options.selectCss+'">'); var $ul = $border.children('ul'); $ul.css('top',$border.height()+1); var length = options.datas.length; for(var i=0; i<length ;i++) $ul.append('<li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >'+options.datas[i]+'</a></li>'); $ul.delegate('li', 'click', function() { $border.children(':text').val($(this).text()); $ul.hide(); $border.children('font').removeClass('icon-angle-top').addClass('icon-angle-bottom');//确定的时候要将下拉的icon改变 }); return $border; }
J'ai ajouté un symbole $ aux paramètres des trois fonctions pour que je puisse savoir qu'il s'agit d'un objet jquery. Il n'y a aucune difficulté technique dans ces fonctions. Elles sont toutes très courantes et logiques. Vous pouvez également modifier le code à tout moment en fonction de vos différents besoins. Le plug-in ne comporte qu'un total de 50 lignes, ce qui est très simple. modifier.
Ce qui suit est le plug-in appelant :
<script type="text/javascript"> $(document).ready(function() { $('#combox').combox({datas:['选项一','选项二','选项三']}); }) </script> </head> <body> <span id="combox"></span> </body> </html>
Cela ne prend qu'une seule phrase, ce qui est très pratique.
démo démo : http://demo.jb51.net/js/2014/combox_jquery/
Téléchargement de la démo : http://www.jb51.net/jiaoben/199034.html

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Avec le développement continu de la technologie frontale, les tableaux de données sont devenus l'un des outils importants pour la gestion d'entreprise et l'affichage des données. Dans le développement quotidien, il est parfois nécessaire de modifier ou d'ajouter des données dans le tableau de données. A ce stade, il est nécessaire d'implémenter un tableau de données modifiable. Cet article explique comment utiliser Vue pour implémenter des tables de données modifiables. 1. Idées d'implémentation Lors de l'implémentation de la fonction de tableau de données modifiable, nous devons prendre en compte les points suivants : Présentation des données : Restituez les données dans le tableau pour l'affichage et l'édition. Modification du tableau : modifiez les données du tableau.

Comment implémenter une liste déroulante à sélection multiple dans Vue. Dans le développement de Vue, la liste déroulante est l'un des composants de formulaire courants. Normalement, nous utilisons des listes déroulantes radio pour sélectionner une option. Cependant, nous devons parfois implémenter une liste déroulante à sélection multiple afin que les utilisateurs puissent sélectionner plusieurs options en même temps. Dans cet article, nous présenterons comment implémenter une liste déroulante à sélection multiple dans Vue et fournirons des exemples de code spécifiques. 1. Utilisez la bibliothèque de composants ElementUI ElementUI est une bibliothèque de composants de bureau basée sur Vue, qui fournit une interface utilisateur riche.

Comment utiliser Layui pour développer un système de gestion d'horaires personnels modifiable. Ces dernières années, avec le développement rapide des technologies de l'information et le rythme de vie accéléré des gens, la gestion des horaires personnels est devenue de plus en plus importante. Afin de permettre aux gens de mieux gérer leur temps et leurs tâches, nous pouvons utiliser Layui, un framework d'interface utilisateur frontal basé sur JavaScript. Il fournit des composants riches et un style concis, et est très adapté au développement de systèmes de gestion d'horaires personnels. 1. Préparation de l'environnement Tout d'abord, nous devons préparer l'environnement de développement. assurez-vous que vous

Comment résoudre le problème de défilement des listes déroulantes mobiles dans le développement de Vue Avec la popularité des terminaux mobiles, de plus en plus d'applications Web ont commencé à être développées pour les appareils mobiles. Dans le processus de développement mobile, nous rencontrons souvent un problème, à savoir le problème de défilement de la liste déroulante sur les appareils mobiles. Du côté des PC traditionnels, le défilement de la liste déroulante est contrôlé par la barre de défilement par défaut du navigateur, mais sur les appareils mobiles, il n'y a pas de barre de défilement, donc la liste déroulante ne peut pas défiler. Cela peut empêcher l'utilisateur de sélectionner toutes les options dans la liste déroulante dans certains scénarios.

Vue.js est actuellement l'un des frameworks front-end les plus populaires. Il utilise une approche basée sur les données pour créer des interfaces utilisateur et présente les caractéristiques d'une liaison de données bidirectionnelle et d'une création de composants. Dans la documentation Vue.js, une méthode d'implémentation d'une table modifiable est fournie. Cet article présentera les étapes d'implémentation spécifiques de cette méthode. Pour préparer des données, vous devez d’abord préparer un ensemble de données. Ici, nous prenons comme exemple les informations sur les étudiants. Le format des données peut être un tableau, chaque élément contenant des attributs tels que le nom, le sexe, l'âge, etc. étudiants :[{name:'Xiao Ming

Comment utiliser Vue et Canvas pour développer des applications graphiques vectorielles modifiables Introduction : Ces dernières années, les graphiques vectoriels sont devenus de plus en plus largement utilisés dans le domaine du design, et il existe de nombreux outils de conception basés sur des graphiques vectoriels tels qu'Adobe Illustrator. Dans le développement Web, nous espérons également pouvoir développer des applications graphiques vectorielles modifiables pour répondre aux besoins personnalisés des utilisateurs en matière de conception. Cet article expliquera comment utiliser Vue et Canvas pour développer des applications graphiques vectorielles modifiables et fournira des exemples de code détaillés. Préparatifs Tout d'abord, je

Présentation de l'utilisation de Layui pour développer un lecteur de livres électroniques modifiable : Layui est un framework frontal puissant et facile à utiliser qui fournit un riche ensemble de composants d'interface utilisateur et d'outils de développement, permettant aux développeurs de créer rapidement des applications belles et entièrement fonctionnelles. application Web. Cet article expliquera comment utiliser le framework Layui pour développer un lecteur de livre électronique prenant en charge la possibilité de modification, permettant aux utilisateurs d'effectuer des opérations telles que la surbrillance, le marquage et la prise de notes dans le livre électronique. Étape 1 : Préparation du projet Tout d'abord, nous devons préparer une structure de base du projet. Créer un

Comment utiliser Layui pour implémenter des fonctions de table modifiables Layui est un framework d'interface utilisateur frontal classique et concis avec des composants riches et des fonctions puissantes. Au cours du processus de développement utilisant Layui, nous pouvons rencontrer le besoin d'implémenter des fonctions de table modifiables. Cet article explique comment utiliser le composant table et le composant formulaire de Layui pour implémenter des fonctions de table modifiables et fournit des exemples de code spécifiques. 1. Présentez la bibliothèque Layui. Tout d'abord, introduisez les fichiers pertinents de la bibliothèque Layui dans le projet. Peut choisir
