forked from mrlan/EnglishPal
				
			随机抽取10个生词,并显示
							parent
							
								
									e3db7c30b0
								
							
						
					
					
						commit
						2d765b5c63
					
				|  | @ -102,9 +102,19 @@ function wordTemplate(word) { | |||
|         <a class="btn btn-warning" onclick="unfamiliar('${word.word}')" role="button">不熟悉</a> | ||||
|         <a class="btn btn-danger" onclick="delete_word('${word.word}')" role="button">删除</a> | ||||
|         <a class="btn btn-info" onclick="read_word('${word.word}')" role="button">朗读</a> | ||||
| 
 | ||||
|     </p>`; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /** | ||||
|  * 使用模板将传入的单词转换为相应的HTML字符串 | ||||
| */ | ||||
| function wordTemplate(word) { | ||||
|     // 这个模板应当与 templates/userpage_get.html 中的 <p id='p_${word.word}' class="new-word" > ... </p> 保持一致
 | ||||
|     return ``; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 删除某一词频元素 | ||||
|  * 此处word为词频元素对应的单词 | ||||
|  | @ -171,4 +181,50 @@ function compareWord(first, second) { | |||
|         return first.word < second.word ? -1 : 1; | ||||
|     } | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
| function random_select_word(word) { | ||||
|     // 获取所有带有 "word-container" 类的 <p> 标签
 | ||||
|     const container = document.querySelector('.word-container'); | ||||
| 
 | ||||
|     console.log("container",container) | ||||
| 
 | ||||
|     // 获取所有带有"new-word"类的<p>标签
 | ||||
|     let wordContainers = container.querySelectorAll('.new-word'); | ||||
| 
 | ||||
|     // 检查是否存在带有"new-word"类的<p>标签
 | ||||
|     if (wordContainers.length > 0) { | ||||
|       // 将NodeList转换为数组
 | ||||
|       let wordContainersArray = [...wordContainers]; | ||||
| 
 | ||||
|       // 随机打乱数组
 | ||||
|       for (let i = wordContainersArray.length - 1; i > 0; i--) { | ||||
|         const j = Math.floor(Math.random() * (i + 1)); | ||||
|         [wordContainersArray[i], wordContainersArray[j]] = [wordContainersArray[j], wordContainersArray[i]]; | ||||
|       } | ||||
| 
 | ||||
|       // 选取前10个元素
 | ||||
|       let selectedWordContainers = wordContainersArray.slice(0, 10); | ||||
| 
 | ||||
|       // 对选取的<p>标签进行处理
 | ||||
| //      selectedWordContainers.forEach(container => {
 | ||||
| //        console.log(container.outerHTML);
 | ||||
| //      });
 | ||||
|         // 置顶
 | ||||
| //        selectedWordContainers.forEach(p => {
 | ||||
| //          container.insertBefore(p, container.firstChild);
 | ||||
| //        });
 | ||||
| 
 | ||||
|         wordContainersArray.forEach((p, index) => { | ||||
|           if (index < 10) { | ||||
|             p.style.display = 'block'; | ||||
|           } else { | ||||
|             p.style.display = 'none'; | ||||
|           } | ||||
|         }) | ||||
|     } | ||||
| } | ||||
|  | @ -139,11 +139,15 @@ | |||
| 
 | ||||
|     {% if d_len > 0 %} | ||||
|         <p> | ||||
| 
 | ||||
|             <b>我的生词簿</b> | ||||
|             <label for="move_dynamiclly"> | ||||
|                 <input type="checkbox" name="move_dynamiclly" id="move_dynamiclly" checked> | ||||
|                 允许动态调整顺序 | ||||
|             </label> | ||||
|             <br> | ||||
|               <a class="btn btn-info" style="background:red;color:#ffff" onclick="random_select_word('{{ word }}')"   role="button">随机选取10个</a> | ||||
|             <a class="btn btn-info" style="background:red;color:#ffff" onclick="location.reload();"   role="button">显示所有生词</a> | ||||
|         </p> | ||||
|         <a name="aaa"></a> | ||||
|         <div class="word-container"> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue