Hướng dẫn html dynamic content without javascript - nội dung động html không có javascript

Tôi đang xây dựng một trang cho công việc có một phần trong đó nội dung cần thay đổi động trên nút nhấp chuột. Tôi biết một số cách khác nhau để thực hiện điều này nhưng tất cả chúng đều liên quan đến JavaScript của một loại này hay loại khác. Khả năng của tôi hiện không bao gồm viết kịch bản cho trang web này vì vậy tôi đang nghiên cứu để xem liệu có cách nào để làm điều này chỉ với CSS trước khi tôi thông báo cho người quản lý dự án của mình rằng một trong những người JavaScript của chúng tôi sẽ phải xử lý nó. Vì vậy, có ai biết về bất kỳ kỹ thuật CSS tuyệt vời nào có thể có được hiệu ứng mong muốn?

Đã hỏi ngày 7 tháng 1 năm 2015 lúc 22:45Jan 7, 2015 at 22:45

Hướng dẫn html dynamic content without javascript - nội dung động html không có javascript

0

Bạn có khả năng có thể sử dụng bộ chọn phân loại giả :target của CSS. Điều này sẽ yêu cầu thay thế các nút của bạn bằng các phần tử a, điều này khiến URL tài liệu của bạn áp dụng một hàm băm liên quan đến thuộc tính id của phần tử bạn muốn thay đổi.

div {
  display: none;
}

:target {
  display: block;
}
<a href="#foo">Click here to show the hidden <code>div</code> element</a><br>
<a href="#">Click here to hide it again</a>.
<div id="foo">This should only show when the link is clicked.</div>

Đã trả lời ngày 7 tháng 1 năm 2015 lúc 22:49Jan 7, 2015 at 22:49

Hướng dẫn html dynamic content without javascript - nội dung động html không có javascript

James Donnellyjames DonnellyJames Donnelly

Huy hiệu vàng 124K3434 gold badges206 silver badges212 bronze badges

1

Có, bạn có thể sử dụng nội dung động mà không cần bất kỳ ngôn ngữ kịch bản nào, nhưng các tùy chọn của bạn rất hạn chế. Như James đã đề xuất, bạn sử dụng CSS. Một cách phổ biến là sử dụng các hộp kiểm và nhãn để kiểm soát khả năng hiển thị của các mục. Bạn sử dụng điều này để tạo ra các trò chơi đơn giản, menu tab và nhiều hơn nữa.

Một hướng dẫn tuyệt vời với các ví dụ bạn có thể thử là tại http://css-tricks.com/the-checkbox-hack/ Nhưng về bản chất, bạn sẽ làm điều gì đó như thế này: (từ hướng dẫn)

input[type=checkbox]:checked ~ div {
   background: red;
}

Lưu ý rằng bạn có thuộc tính: đã kiểm tra và bộ chọn anh chị em chung trong ví dụ này. Bạn có thể nhận được rất nhiều tinh vi hơn.

Kiểm tra trò chơi CSS Panic sử dụng khả năng tương tự này.

Đã trả lời ngày 7 tháng 1 năm 2015 lúc 23:00Jan 7, 2015 at 23:00

newz2000newz2000newz2000

2.5821 Huy hiệu vàng22 Huy hiệu bạc31 Huy hiệu đồng1 gold badge22 silver badges31 bronze badges

Tôi không nghĩ rằng có bất kỳ cách nào để sửa đổi trực tiếp nội dung với CSS, bởi vì như tên gọi của nó, nó đặc biệt dành cho phong cách. Tôi không biết về bất kỳ thủ thuật nào, xin lỗi. Tôi không nghĩ CSS thực sự là một cách thích hợp để làm điều này, bởi vì đó không phải là tổ chức mã tốt (mặc dù dù sao Web không được biết đến với tổ chức mã tốt). Nó thực sự đơn giản để đánh bật JavaScript, vì vậy tôi khuyên bạn nên tự làm nếu có thể. Thay đổi nội dung bằng một nút Nhấn thực sự không phải là vấn đề JavaScript khó khăn. Ném vào một số jQuery, và bạn cũng có thể nhận được sự chuyển tiếp bóng bẩy.

HTML không được thiết kế để năng động, nó chỉ đơn giản là định dạng tài liệu, ít nhiều. Tôi cũng không nghĩ CSS cũng được thiết kế cho nhiều tính năng động, chỉ thay đổi phong cách trên một số sự kiện nhất định. Vì vậy, tôi nghĩ bởi vì thay đổi nội dung không thay đổi phong cách, nó là không thể, hoặc không phải là một cách rất đẹp để làm điều đó.

Chúc may mắn!

Đã trả lời ngày 7 tháng 1 năm 2015 lúc 22:55Jan 7, 2015 at 22:55

Hướng dẫn html dynamic content without javascript - nội dung động html không có javascript

DandanDan

6627 Huy hiệu bạc15 Huy hiệu Đồng7 silver badges15 bronze badges

2

Bài viết này là một bản cập nhật cho bài viết cũ này, có bản demo xấu xí và một loạt các kỹ thuật trong đó không còn được coi là thực tiễn tốt. Bản demo mới này sạch hơn nhiều, cập nhật và Fuller đặc trưng. Bởi vì bài báo cũ là một chút phạm vi khác, tôi sẽ để nó một mình, chỉ cần tham khảo điều này.

Cập nhật tháng 1 năm 2013: Có những thực hành tốt hơn bây giờ, chi tiết ở đây. There are better practices now, detailed here.

Hãy nói rằng bạn muốn tạo một trang web trong đó việc nhấp vào các nút trong NAV sẽ tự động tải một số nội dung. Kiểu như những tab hữu cơ, chỉ có nội dung được tải động. Nói điều gì đó như thế này:

Hướng dẫn html dynamic content without javascript - nội dung động html không có javascript

Xem bản demo & nbsp; Tải tập tin

HTML: Tất cả đều hoạt động mà không có JavaScript

Không có lý do gì cho việc điều hướng của một trang web bị phá vỡ hoàn toàn mà không có JavaScript được bật. Vì vậy, cách tiếp cận tốt nhất ở đây chỉ là tạo ra các trang này và điều hướng là HTML Semantic đơn giản. Bạn biết đấy, giống như nó 2001.

Các liên kết điều hướng đến các tệp có chứa nội dung đó và được hình thành đầy đủ các trang chức năng.

<nav>
    <ul>
        <li><a href="index.php">Home</a></li>
        <li><a href="about.php">About</a></li>
        <li><a href="contact.php">Contact</a></li>
    </ul>
</nav>

CSS

Đây thực sự là một hướng dẫn về CSS, nhưng nếu bạn muốn nhìn trộm nó, hãy tìm nó. Hét lên với Mike Rundle, người đã chia sẻ CSS cho các nút đó vào ngày khác trên Twitter khi tôi đang làm việc này và tôi đã đánh cắp nó.

JQuery JavaScript

JavaScript là phần thú vị ở đây! Đây là kế hoạch bằng tiếng Anh đơn giản:

  1. Khi nhấp vào nút điều hướng
  2. Thay đổi thẻ băm của url
  3. Khi thẻ băm trong URL thay đổi
  4. Làm mờ đi nội dung cũ
  5. Tải và phai màu trong nội dung mới
  6. Cập nhật điểm nổi bật điều hướng hiện tại

Vậy tại sao phải bận tâm với các công cụ thay đổi thẻ Hash Hash? Nhiều lý do:

  • Bằng cách sử dụng plugin sự kiện Hashchange của Ben Alman, chúng tôi có thể bật nút quay lại/chuyển tiếp của trình duyệt. Các trình duyệt siêu hiện đại tự hỗ trợ sự kiện Hashchange, plugin này cho phép hỗ trợ cho các trình duyệt cũ hơn.
  • Chúng ta có thể tìm kiếm băm khi trang tải và tải trang thích hợp (tức là liên kết sâu thẳm)

Điều kiện tiên quyết

Chúng tôi sẽ sử dụng thư viện jQuery, plugin Onhashchange và sau đó tải tập lệnh của chúng tôi cuối cùng.

<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
<script type='text/javascript' src='js/jquery.ba-hashchange.min.js'></script>
<script type='text/javascript' src='js/dynamicpage.js'></script>

Mã kết xuất

$(function() {

    var newHash      = "",
        $mainContent = $("#main-content"),
        $pageWrap    = $("#page-wrap"),
        baseHeight   = 0,
        $el;
        
    $pageWrap.height($pageWrap.height());
    baseHeight = $pageWrap.height() - $mainContent.height();
    
    $("nav").delegate("a", "click", function() {
        window.location.hash = $(this).attr("href");
        return false;
    });
    
    $(window).bind('hashchange', function(){
    
        newHash = window.location.hash.substring(1);
        
        if (newHash) {
            $mainContent
                .find("#guts")
                .fadeOut(200, function() {
                    $mainContent.hide().load(newHash + " #guts", function() {
                        $mainContent.fadeIn(200, function() {
                            $pageWrap.animate({
                                height: baseHeight + $mainContent.height() + "px"
                            });
                        });
                        $("nav a").removeClass("current");
                        $("nav a[href='"+newHash+"']").addClass("current");
                    });
                });
        };
        
    });
    
    $(window).trigger('hashchange');

});

Không có nhiều điều thực sự. Nó chỉ có 41 dòng với một số khoảng trống trong đó để đọc. Điều này thậm chí bao gồm điều chỉnh chiều cao của toàn bộ trình bao bọc để điều chỉnh cho nội dung mới.

Xem bản demo & nbsp; Tải tập tin

Tôi có thể tạo một trang web năng động mà không cần JavaScript không?

Trước khi chúng tôi tiếp tục, tôi chỉ muốn nói rõ rằng không có JavaScript, không giống như trang web tĩnh. Một trang web có thể tĩnh và chứa JavaScript cũng như năng động và hoàn toàn không chứa bất kỳ JavaScript nào.A website can be static and contain JavaScript as well as being dynamic and not contain any JavaScript at all.

Làm cách nào để hiển thị nội dung động trong HTML?

Cách hiển thị nội dung động trên một trang bằng tham số URL..
HTML.Bao bọc từng phần nội dung động của bạn trong một div và thêm một lớp gọi là nội dung động.....
CSS.....
JavaScript.....
Sử dụng jQuery để hiển thị/ẩn nội dung.....
Mã JavaScript đầy đủ.....
Questions?.

Làm thế nào để bạn thêm văn bản động trong HTML?

Đây là cách đơn giản nhất để sửa đổi nội dung một cách linh hoạt- sử dụng thuộc tính bên trong.Bằng cách sử dụng thuộc tính này, được hỗ trợ trong tất cả các trình duyệt hiện đại, chúng tôi có thể chỉ định HTML mới hoặc văn bản cho bất kỳ phần tử nào (chẳng hạn như OR) và trang được cập nhật và định lượng ngay lập tức để hiển thị nội dung mới.using the innerHTML property. By using this property, supported in all modern browsers we can assign new HTML or text to any containment element (such as
or ), and the page is instantly updated and reflowed to show the new content.

Bạn có thể làm cho HTML động?

Trước tiên chúng tôi biết những gì thực sự là một trang HTML động.Sử dụng CSS, chúng tôi có thể thay đổi màu nền của trang web mỗi khi người dùng nhấp vào nút trên trang web.Sử dụng JavaScript, chúng tôi có thể yêu cầu người dùng nhập tên của mình và sau đó hiển thị nó một cách linh hoạt trên trang web.Using CSS we can change the background color of the web page each time the user clicks a button on the webpage. Using JavaScript we can ask the user to enter his/her name and then display it dynamically on the webpage.