이 글에서는 Bootstrap 개발 중 탭 전환 차트 표시 문제를 해결하는 방법을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
반응형 페이지를 만들 때 더 큰 크기의 장치에 대한 인터페이스 호환성을 고려해야 하는 경우가 많습니다. 일반적으로 인터페이스 요소가 다른 장치에 따라 동적으로 조정될 수 있도록 픽셀을 프로그래밍할 수 없지만 여전히 그렇지 않은 경우도 있습니다. 탭 탭의 첫 번째 페이지는 정상적으로 표시되지만, 다른 페이지로 전환할 때 표시 내용이 동적으로 조정되지 않는 등의 문제가 발생했습니다. 이 에세이에서는 탭 탭 전환 시 차트 표시 문제를 해결하는 방법과 차트 컨트롤은 창의 동적 변경을 실현할 수 있습니다. [관련 권장 사항: "부트스트랩 튜토리얼"]
1. 기존 차트 처리
예를 들어 아래 인터페이스에는 아래와 같이 두 개의 탭 탭이 있고 첫 번째 탭은 정상적으로 표시됩니다.
인터페이스 코드의 일부는 다음과 같습니다
<div class="portlet-body"> <div class="tab-char" id="lineContainer1" style="height:300px;max-width:500px;"></div> </div>
아이폰 기반으로 시뮬레이션된 장치의 크기를 보면 이미지의 크기가 효과적으로 조정되지 않고 올바른 방식으로 표시될 수 없다는 것을 알 수 있습니다. 탭 탭 사이에서 두 번째 탭의 차트 크기가 올바르게 조정되지 않습니다.
그런 다음 탭을 전환할 때 올바른 효과를 얻으려면 처리를 위해 탭 전환 이벤트를 추적해야 합니다.
인터넷으로 해결 방법을 찾아봤는데, "부트스트랩 탭(Tab) 플러그인 전환 시 차트가 표시되지 않는 문제 해결"이라는 에세이도 아주 좋습니다.
그러나 나는 그가 언급한 몇 가지 핵심 사항을 실제로 달성했지만 더 단순화된 몇 가지 병합과 변형을 만들었습니다.
1. Bootstrap은 반응형 레이아웃을 구현합니다.
2. Highcharts는 적응형을 구현합니다.
3. 탭 전환 및 확대/축소가 정상적으로 표시됩니다
여기에서는 HighChart 차트 컨트롤을 사용하고 있는데 원리는 동일합니다. 차트 모음을 순회해야 하지만 순회 처리는 보다 편리한 JQuery 문서 검색 방법을 사용할 수 있습니다.
2. 탭 전환 시 차트 표시 문제 해결
예를 들어 제가 작성한 차트 선언과 차트 데이터를 동적으로 가져오는 코드는 다음과 같습니다.
//初始化对象 $(function () { var chart1 = new Highcharts.Chart({ chart: { renderTo: "container1", plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, }, title: { text: '集团分子公司人员组成' }, tooltip: { pointFormat: '{series.name}: <b>{point.y}</b>' }, plotOptions: { pie: { allowPointSelect: true, cursor: 'pointer', dataLabels: { enabled: true, format: '<b>{point.name}</b>: {point.percentage:.1f} %', style: { color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black' } }, //showInLegend: true } }, series: [{ type: 'pie', name: '人员数量', data: [] }] }); //通过Ajax获取图表1数据 $.ajaxSettings.async = false; var data1 = []; $.getJSON("/User/GetCompanyUserCountJson", function (dict) { for (var key in dict) { if (dict.hasOwnProperty(key)) { data1.push([key, dict[key]]); } }; chart1.series[0].setData(data1); });
이 부분은 참고용으로 이해하시면 됩니다. 실제로 작동하는 코드는 아닙니다.
실제로 작동하는 것은 아래와 같이 Boosttrap의 탭 변경 이벤트를 사용하여 이를 처리한다는 것입니다.
//TAB页面变化的时候,调整图表宽度 $('.grid_tab').on('shown.bs.tab', function () { var target = $(this).attr('href'); var controls = $(target).find('.tab-char'); for(var i=0;i<controls.length; i++) { $(controls[i]).highcharts().reflow(); } }); //窗口大小变化的时候,调整图表宽度 $(window).resize(function () { var controls = $(document).find('div.tab-char'); for (var i = 0; i < controls.length; i++) { $(controls[i]).highcharts().reflow(); } });
위의 JS는 JQuery를 사용하여 해당 하이차트 개체를 동적으로 순회한 다음 .reflow() 함수를 호출하여 업데이트합니다.
아래 차트의 탭 탭 페이지에 있는 HTML 코드를 참조하세요. class="tab-pane"과 class="tab-char"라는 두 개의 p 레이어가 JQuery를 사용하여 동적으로 표시되는 차트 컨트롤입니다. 키를 찾아 처리합니다.
<div class="tab-pane fade active in" id="tab_2_1"> <div class="row"> <div class="col-md-6 col-sm-6"> <div class="portlet light "> <div class="portlet-title"> <div class="caption"> <i class="icon-bar-chart font-green-sharp hide"></i> <span class="caption-subject font-green-sharp bold uppercase">图表1</span> </div> <div class="actions"> <div class="btn-group btn-group-devided" data-toggle="buttons"> <label class="btn btn-transparent purple btn-circle btn-sm active"> <input type="radio" name="options" class="toggle" id="option1">更多...</label> </div> </div> </div> <div class="portlet-body"> <div class="tab-char" id="container1" style="height: 300px;max-width:500px"></div> </div> </div> </div> <div class="col-md-6 col-sm-6"> <div class="portlet light "> <div class="portlet-title"> <div class="caption"> <i class="icon-bar-chart font-green-sharp hide"></i> <span class="caption-subject font-green-sharp bold uppercase">3D图表2</span> </div> <div class="actions"> <div class="btn-group btn-group-devided" data-toggle="buttons"> <label class="btn btn-transparent purple btn-circle btn-sm active"> <input type="radio" name="options" class="toggle" id="option1">更多... </label> </div> </div> </div> <div class="portlet-body"> <div class="tab-char" id="container2" style="height: 300px;max-width:500px"></div> </div> </div> </div>
jS를 처리할 때 제대로 실행되고 있는지 확인할 수 없는 경우에는 아래와 같이 결과를 추적하여 모든 단계를 추적할 수 있습니다.
또는 창이 바뀔 때 캡처하는 개체를 볼 수도 있습니다.
객체를 얻은 후 해당 컨트롤로 변환한 다음 해당 인터페이스를 호출하여 업데이트합니다.
$(controls[i]).highcharts().reflow();
위는 우리의 구현 아이디어와 추적 처리 방법입니다. 마지막으로 위 그림은 문제에 대한 해결책을 보여줍니다.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !
위 내용은 부트스트랩 탭에서 탭 전환 시 차트 표시 문제에 대한 해결 방법에 대해 간략히 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

BootstrapisAfree, Open-SourcecsSframework that atresponsiveandmobile-firstwebsitedevelopment.itofferspre-styledcomponentsandagridsystem, streamliningthecreations of hetsingallyfleasing 및 functionalwebdesigns를 간소화합니다.

웹 디자인이 더 쉬운 것은 부트 스트랩입니다. 사전 설정 구성 요소, 반응 형 디자인 및 풍부한 커뮤니티 지원. 1) 사전 설정 구성 요소 라이브러리 및 스타일을 사용하면 개발자가 복잡한 CSS 코드를 쓰지 않도록 할 수 있습니다. 2) 내장 그리드 시스템은 반응 형 레이아웃 생성을 단순화합니다. 3) 커뮤니티 지원은 풍부한 자원과 솔루션을 제공합니다.

Bootstrap은 웹 개발을 가속화하고 사전 정의 된 스타일 및 구성 요소를 제공함으로써 신속하게 반응 형 웹 사이트를 구축 할 수 있습니다. 1) 프로젝트에서 며칠 내에 기본 레이아웃을 완료하는 등 개발 시간이 단축됩니다. 2) SASS 변수와 믹스 인을 통해 부트 스트랩을 통해 맞춤형 스타일은 특정 요구를 충족시킬 수 있습니다. 3) CDN 버전을 사용하면 성능을 최적화하고 로딩 속도를 향상시킬 수 있습니다.

Bootstrap은 오픈 소스 프론트 엔드 프레임 워크이며 주요 기능은 개발자가 반응 형 웹 사이트를 신속하게 구축하도록 돕는 것입니다. 1) 복잡한 UI 효과의 구현을 용이하게하기 위해 사전 정의 된 CSS 클래스 및 JavaScript 플러그인을 제공합니다. 2) 부트 스트랩의 작동 원리는 CSS 및 JavaScript 구성 요소에 의존하여 미디어 쿼리를 통해 반응 형 디자인을 실현합니다. 3) 사용의 예로는 버튼 작성과 같은 기본 사용 및 사용자 정의 스타일과 같은 고급 사용법이 포함됩니다. 4) 일반적인 오류에는 클래스 이름의 철자가 포함됩니다. 브라우저 개발자 도구를 사용하여 디버깅하는 것이 좋습니다. 5) 성능 최적화는 맞춤형 빌드 도구를 통해 달성 할 수 있으며 모범 사례에는 Semantic HTML 및 부트 스트랩 사용 사전 정의가 포함됩니다.

Bootstrap은 그리드 시스템 및 미디어 쿼리를 통한 반응 형 디자인을 구현하여 웹 사이트를 다른 장치에 적용합니다. 1. 사전 정의 된 클래스 (예 : col-SM-6)를 사용하여 열 너비를 정의하십시오. 2. 그리드 시스템은 12 개의 열을 기반으로하며 합계가 12를 초과하지 않습니다. 3. SM, MD, LG와 같은 중단 점 (예 : SM, MD, LG)을 사용하여 다른 화면 크기로 레이아웃을 정의합니다.

Bootstrap은 반응 형 웹 사이트 및 응용 프로그램의 신속한 개발을위한 오픈 소스 프론트 엔드 프레임 워크입니다. 1. 반응 형 설계, 일관된 UI 구성 요소 및 빠른 개발의 장점을 제공합니다. 2. 그리드 시스템은 12 열 구조를 기반으로 Flexbox 레이아웃을 사용하며 .Container, .row 및 .Col-SM-6과 같은 클래스를 통해 구현됩니다. 3. SASS 변수를 수정하거나 CSS를 덮어 쓰면 사용자 정의 스타일을 구현할 수 있습니다. 4. 일반적으로 사용되는 JavaScript 구성 요소에는 모달 상자, 회전식 다이어그램 및 접이식이 포함됩니다. 5. 필요한 구성 요소 만로드하고 CDN을 사용하고 병합 파일을 압축하여 최적화 성능을 달성 할 수 있습니다.

Bootstrap 및 JavaScript를 원활하게 통합하여 웹 페이지에 역동적 인 기능을 제공 할 수 있습니다. 1) JavaScript를 사용하여 모달 박스 및 내비게이션 바와 같은 부트 스트랩 구성 요소를 조작하십시오. 2) jQuery가 올바르게로드되도록하고 일반적인 통합 문제를 피하십시오. 3) 이벤트 모니터링 및 DOM 운영을 통해 복잡한 사용자 상호 작용 및 동적 효과를 달성합니다.

부트 스트랩을 사용하여 검색 표시 줄의 값을 얻는 방법 : 검색 표시 줄의 ID 또는 이름을 결정하십시오. JavaScript를 사용하여 DOM 요소를 얻으십시오. 요소의 값을 가져옵니다. 필요한 작업을 수행하십시오.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

드림위버 CS6
시각적 웹 개발 도구
