网站导航要实现的效果类似于下图:
我搜索了,发现都是ajax发送请求实现联动。我的要求是不发送请求,直接在php文件或html文件里写,再通过jquery实现下拉效果。
目录导航的数组如下:level=0表示第1层,紧跟的level=1/2……表示是第1层的子菜单。
Array ( [0] => Array ( [cat_id] => 3 [cat_name] => JavaScript [parent_id] => 0 [level] => 0 ) [1] => Array ( [cat_id] => 5 [cat_name] => Jquery [parent_id] => 3 [level] => 1 ) [2] => Array ( [cat_id] => 6 [cat_name] => JS高级 [parent_id] => 3 [level] => 1 ) [3] => Array ( [cat_id] => 4 [cat_name] => PHP [parent_id] => 0 [level] => 0 ) )
html代码如下:
<ul id="nav"> <li><a href="./">首页</a></li> <?php foreach ($treelist as $v) { ?> <li><a href="category.php?cid=<?php echo $v['cat_id']; ?>"><?php echo $v['cat_name']; ?></a></li> <?php } ?> </ul>
回复内容:
网站导航要实现的效果类似于下图:
我搜索了,发现都是ajax发送请求实现联动。我的要求是不发送请求,直接在php文件或html文件里写,再通过jquery实现下拉效果。
目录导航的数组如下:level=0表示第1层,紧跟的level=1/2……表示是第1层的子菜单。
Array ( [0] => Array ( [cat_id] => 3 [cat_name] => JavaScript [parent_id] => 0 [level] => 0 ) [1] => Array ( [cat_id] => 5 [cat_name] => Jquery [parent_id] => 3 [level] => 1 ) [2] => Array ( [cat_id] => 6 [cat_name] => JS高级 [parent_id] => 3 [level] => 1 ) [3] => Array ( [cat_id] => 4 [cat_name] => PHP [parent_id] => 0 [level] => 0 ) )
html代码如下:
<ul id="nav"> <li><a href="./">首页</a></li> <?php foreach ($treelist as $v) { ?> <li><a href="category.php?cid=<?php echo $v['cat_id']; ?>"><?php echo $v['cat_name']; ?></a></li> <?php } ?> </ul>
不用ajax,一次把所有数据都读出来,但是hide show 的效果必须要js了,有几种方法,可以php里把数据做成json,在js里调用show hide,也可以直接把全部array先在页面上显示成link默认hide,然后根据点哪个show哪个。
---下面是把array先在页面上生成html,但是根据不同class值来判断show/hide
把每层都查出来,把原来用0、1、2的array key 改成用每组数据的属性当做可以,如下:
<code>array( 'l1' => array( key1 => value1, key2 => value2, key3 => value3 ), 'l2' => array( key1 => value1, key2 => value2, key3 => value3 ) ....... ); </code>
给每层array key都附上值,全部生成出来,根据key value 不同在link上生成不同的class
,默认全部hide,然后click哪个按钮就显示哪个吧,几个if elseif else搞定,因为每组数据都有key了,可以简单地判断哪个按钮对应那组数据。
在显示之前把它们都查出来,只是用js默认不显示它们,等点击再显示它们
不是很明确你的意思,是要实现这样无限级树形菜单么?
<html> <head> </head> <style> /*li {list-style-type:none;}*/ span{cursor: pointer;background-color: yellowgreen;font-size: 20px} .hidden{display: none} </style> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <body> <?php $arr = Array( Array("cat_id" => 3, "cat_name" => "JavaScript", "parent_id" => 0, "level" => 0), Array("cat_id" => 5, "cat_name" => "Jquery", "parent_id" => 3, "level" => 1), Array("cat_id" => 6, "cat_name" => "JS高级", "parent_id" => 3, "level" => 1), Array("cat_id" => 7, "cat_name" => "JS高级更高级1", "parent_id" => 6, "level" => 3), Array("cat_id" => 8, "cat_name" => "JS高级更高级2", "parent_id" => 6, "level" => 3), Array("cat_id" => 9, "cat_name" => "JS高级更高级3", "parent_id" => 6, "level" => 3), Array("cat_id" => 4, "cat_name" => "PHP", "parent_id" => 0, "level" => 0), Array("cat_id" => 10, "cat_name" => "PHP高级1", "parent_id" => 4, "level" => 0), Array("cat_id" => 12, "cat_name" => "PHP高级2", "parent_id" => 4, "level" => 0), Array("cat_id" => 13, "cat_name" => "PHP高级3", "parent_id" => 4, "level" => 0) ); //创建树形菜单 function createTree(&$arr, $parent_id) { $hide = ""; if ($parent_id != 0) { $hide = "hidden"; } $funcName = __FUNCTION__; $ul = ""; $li = ""; for ($i = 0; $i < count($arr); $i++) { if ($arr[$i]["parent_id"] == $parent_id) { $child = $funcName($arr, $arr[$i]['cat_id']); $li .= "\r\n<li id=\"{$arr[$i]['cat_id']}\" class=\"cate\"><span>{$arr[$i]["cat_name"]}</span>{$child}</li>\r\n"; } } if ($li != "") { $ul = " <ul class=\"cate {$hide}\">{$li}</ul> "; } return $ul; } echo createTree($arr, 0); ?> </body> <script> (function() { $(".cate").hover(function() { $(this).children("ul").show() }, function() { $(this).children("ul").hide() }) })() </script> </html>
- 将所有的数据预先加载进来,赋给一个js变量。每次选择级联菜单,都从这个变量读取数据。
- 这样做相当于把ajax分次请求的数据一次请求下来。
php echo 一个json数据给js的变量
预先在页面中生成json格式数据,传递给js就可以了。

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Dreamweaver Mac版
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)