【Semantic框架学习日志】(9)弹出窗口的使用


一、介绍

    弹出窗口在页面顶部显示其他信息。

优点:弹出窗口的出现,可以使得页面交互更为直观和便捷,能够在第一时间给予用户响应,并告知用户一些信息以及需要干什么,极大方便了不同群体用户的使用,降低了使用的门槛。通过Semantic框架,弹出窗口更容易实现。

二、基本用法

基本用法:利用Semantic框架中的css和js共同作用,实现效果
例如,最简单的按钮

html部分:

<div class="ui icon button" data-content="Add users to your feed">
  <i class="add icon"></i>
</div>

js部分,利用$获取元素并添加popup()事件:

<script>
    $('.button').popup();
  </script>

效果:
在这里插入图片描述

三、高阶用法

(1)卡片式交互型

html部分:

<div class="ui card" style="margin: 20px">
  <div class="image">
    <img src="20f9748112e9d9249e702c58cdf7a1a2.jpeg">
  </div>
  <!--在这里设置一个content弹出,当鼠标移到图片上时-->
  <div class="content">
    <div class="header">Watchmen</div>
    <div class="description">
      In a gritty and alternate 1985 the glory days of costumed vigilantes have been brought to a close by a government crackdown, but after one of the masked veterans is brutally murdered an investigation into the killer is initiated.
    </div>
  </div>
  <div class="ui two bottom attached buttons">
    <div class="ui button">
      <i class="add icon"></i>
      Queue
    </div>
    <div class="ui primary button">
      <i class="play icon"></i>
      Watch
    </div>
  </div>
</div>

js部分:

<script>
	//在这里设置一个content弹出,当鼠标移到图片上时
    $('.image').popup({
      popup:'.content'
    });
  </script>

效果:
在这里插入图片描述

掌握这种类型熟练的话,可以试试用图标,按钮之类的,还可以进行弹出窗口大小的变换

(2)弹出型菜单栏(常用)

html:

<!--简单的导航栏-->
<div class="ui menu">
  <a class="browse item">
    Browse
    <i class="dropdown icon"></i>
  </a>
  <div class="ui fluid popup">
    <div class="ui four column relaxed divided grid">
      <div class="column">
        <h4 class="ui header">Fabrics</h4>
        <div class="ui link list">
          <a class="item">Cashmere</a>
          <a class="item">Linen</a>
          <a class="item">Cotton</a>
          <a class="item">Viscose</a>
        </div>
      </div>
      <div class="column">
        <h4 class="ui header">Size</h4>
        <div class="ui link list">
          <a class="item">Small</a>
          <a class="item">Medium</a>
          <a class="item">Large</a>
          <a class="item">Plus Sizes</a>
        </div>
      </div>
      <div class="column">
        <h4 class="ui header">Colors</h4>
        <div class="ui link list">
          <a class="item">Neutrals</a>
          <a class="item">Brights</a>
          <a class="item">Pastels</a>
        </div>
      </div>
      <div class="column">
        <h4 class="ui header">Types</h4>
        <div class="ui link list">
          <a class="item">Knitwear</a>
          <a class="item">Outerwear</a>
          <a class="item">Pants</a>
          <a class="item">Shoes</a>
        </div>
      </div>
    </div>
  </div>
  <a class="item">
    <i class="cart icon"></i>
    Checkout
  </a>
</div>

js:

$('.menu .browse')
            .popup({
              inline     : true,
              hoverable  : true,
              position   : 'bottom left',
              delay: {
                show: 300,
                hide: 800
              }
            })
    ;

效果:
在这里插入图片描述

(3)搜索栏,下拉型选择框

html:

<div class="ui teal button" data-title="Using click events" data-content="Clicked popups will close if you click away, but not if you click inside the popup">Click Me</div>
<div class="ui icon input">
  <input type="text" placeholder="Focus me..." data-content="You can use me to enter data">
  <i class="search icon"></i>
</div>

js:

$('.teal.button')
            .popup({
              on: 'click'
            })
    ;
    $('.icon.input')
            .popup({
              on: 'focus'
            });

效果:
在这里插入图片描述

剩下的个人感觉不太常用,如果需要的话可以去官方文档查看
附传送门:https://semantic-ui.com/elements/input.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Semantic UI 来实现评论功能,你需要以下步骤: 1. 首先,你需要在页面中引入 Semantic UICSS 文件和 JavaScript 文件。你可以从官方网站下载并引入这些文件,或者使用 CDN 加载。 2. 在 HTML 中创建一个表单,这个表单包含一个输入框和一个提交按钮。你可以使用 Semantic UI 的表单组件来创建这个表单。 3. 在 JavaScript 中,你需要编写一个处理表单提交事件的函数。这个函数需要获取输入框中的内容,并将其发送到后端进行处理。 4. 在后端,你需要编写一个处理评论请求的 API。这个 API 需要接收前端发送的评论内容,并将其存储到数据库中。 5. 最后,你需要编写一个显示评论的组件。这个组件需要从后端获取评论数据,并使用 Semantic UI 的卡片组件来显示每条评论。 以下是一个简单的示例代码: HTML 代码: ``` <div class="ui form"> <div class="field"> <label>发表评论</label> <textarea id="comment-text"></textarea> </div> <button class="ui button" onclick="submitComment()">提交</button> </div> <div id="comment-list" class="ui cards"></div> ``` JavaScript 代码: ``` function submitComment() { const commentText = document.getElementById('comment-text').value; fetch('/api/comments', { method: 'POST', body: JSON.stringify({ text: commentText }), headers: { 'Content-Type': 'application/json' } }) .then(response => response.json()) .then(data => { // 清空输入框 document.getElementById('comment-text').value = ''; // 刷新评论列表 loadComments(); }); } function loadComments() { fetch('/api/comments') .then(response => response.json()) .then(data => { const commentList = document.getElementById('comment-list'); commentList.innerHTML = ''; data.forEach(comment => { const card = document.createElement('div'); card.classList.add('ui', 'card'); card.innerHTML = ` <div class="content"> <div class="header">${comment.author}</div> <div class="meta">${comment.date}</div> <div class="description">${comment.text}</div> </div> `; commentList.appendChild(card); }); }); } // 页面加载完成后自动加载评论列表 document.addEventListener('DOMContentLoaded', loadComments); ``` 后端代码(使用 Express 框架): ``` const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); // 存储评论数据的数组 const comments = []; // 处理评论请求的 API app.post('/api/comments', (req, res) => { const { text } = req.body; const date = new Date().toLocaleString(); const author = '匿名用户'; const comment = { author, date, text }; comments.push(comment); res.json(comment); }); // 获取评论列表的 API app.get('/api/comments', (req, res) => { res.json(comments); }); app.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` 请注意,这只是一个简单的示例,实际应用中还需要考虑很多因素,比如安全性、性能等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值