// Highlight elements in frontend, if local storage variable is set. jQuery( document ).ready( function () { function is_enabled() { if ( ! advads.supports_localstorage() || ! localStorage.getItem( 'advads_frontend_picker' ) ) { return false; } // Check if the frontend picker was started on the current blog. if ( window.advads_options.blog_id && localStorage.getItem( 'advads_frontend_blog_id' ) && window.advads_options.blog_id !== localStorage.getItem( 'advads_frontend_blog_id' ) ) { return false; } // Deactivate the frontend picker if it was started more than 45 minutes ago. if ( localStorage.getItem( 'advads_frontend_starttime' ) && parseInt( localStorage.getItem( 'advads_frontend_starttime' ), 10 ) < ( new Date().getTime() ) - 45 * 60 * 1000 ) { localStorage.removeItem( 'advads_frontend_action' ); localStorage.removeItem( 'advads_frontend_element' ); localStorage.removeItem( 'advads_frontend_picker' ); localStorage.removeItem( 'advads_prev_url' ); localStorage.removeItem( 'advads_frontend_pathtype' ); localStorage.removeItem( 'advads_frontend_boundary' ); localStorage.removeItem( 'advads_frontend_blog_id' ); localStorage.removeItem( 'advads_frontend_starttime' ); advads.set_cookie( 'advads_frontend_picker', '', - 1 ); return false; } return true; } // only trigger if local storage is available if ( is_enabled() ) { var advads_picker_cur, advads_picker_overlay = jQuery( "
" ), advads_picker_no = [document.body, document.documentElement, document]; advads_picker_overlay.css( { position: 'absolute', border: 'solid 2px #428bca', backgroundColor: 'rgba(66,139,202,0.5)', boxSizing: 'border-box', zIndex: 1000000, pointerEvents: 'none' } ).prependTo( 'body' ); if ( 'true' === localStorage.getItem( 'advads_frontend_boundary' ) ) { jQuery( 'body' ).css( 'cursor', 'not-allowed' ); } /** * Check if we can traverse up the dom tree. * * We cannot use event delegation because: * - the content can be loaded via AJAX dynamically * - we cannot wrap the content in a `div` that represents post boundary * because that may prevent css rules from working * * @param HTMLElement The current element. * return bool */ window.advads.is_boundary_reached = function ( advads_picker_cur ) { if ( 'true' !== localStorage.getItem( 'advads_frontend_boundary' ) ) { return false; } $advads_picker_cur = jQuery( advads_picker_cur ); // A boundary helper is the `ins` element inside of the post content // that is used to determine the post boundary (where the content starts and ends). var $boundary_helpers = jQuery( '.advads-frontend-picker-boundary-helper' ); $boundaries = $boundary_helpers.parent(); $boundaries.css( 'cursor', 'pointer' ); return $advads_picker_cur.is( $boundaries ) || ! $advads_picker_cur.closest( $boundaries ).length; } if ( 'xpath' === localStorage.getItem( 'advads_frontend_pathtype' ) ) { var fn = 'getXPath'; } else { var fn = 'getPath'; } jQuery( document ).mousemove( function ( e ) { if ( e.target === advads_picker_cur ) { return; } if ( ~ advads_picker_no.indexOf( e.target ) ) { advads_picker_cur = null; advads_picker_overlay.hide(); return; } var target = jQuery( e.target ), offset = target.offset(), width = target.outerWidth(), height = target.outerHeight(); advads_picker_cur = e.target; var path = jQuery( advads_picker_cur )[fn](); if ( ! path ) { // A click outside of the boundary. // @see `is_boundary_reached`. return; } // log path console.log( path ); advads_picker_overlay.css( { top: offset.top, left: offset.left, width: width, height: height } ).show(); } ); // save on click jQuery( document ).click( function ( e ) { var path = jQuery( advads_picker_cur )[fn](); if ( advads.is_boundary_reached( advads_picker_cur ) ) { return; } localStorage.setItem( 'advads_frontend_element', path ); window.location = localStorage.getItem( 'advads_prev_url' ); } ); }; } ); /* Derrived from jQuery-GetPath v0.01, by Dave Cardwell. (2007-04-27) http://davecardwell.co.uk/javascript/jquery/plugins/jquery-getpath/ Usage: var path = $('#foo').getPath(); */ jQuery.fn.extend( { getPath: function ( path, depth ) { // The first time this function is called, path won't be defined. if ( typeof path === 'undefined' ) { path = ''; } if ( typeof depth === 'undefined' ) { depth = 0; } // If this element is we've reached the end of the path. // also end after 2 elements if ( this.is( 'html' ) ) { return 'html > ' + path; } else if ( 3 === depth ) { return path; } // Add the element name. var cur = this.get( 0 ).nodeName.toLowerCase(); // Determine the IDs and path. var el_id = this.attr( 'id' ), el_class = this.attr( 'class' ); depth = depth + 1; // Add the #id if there is one. Ignore ID with number. if ( typeof el_id !== 'undefined' && ! /\d/.test( el_id ) ) { cur += '#' + el_id; } else if ( typeof el_class !== 'undefined' ) { // Add classes if there is no id. el_class = el_class.split( /[\s\n]+/ ); // Skip classes with numbers. el_class = jQuery.grep( el_class, function ( element, index ) { return ! /\d/.test( element ) } ); // Add 2 classes. if ( el_class.length ) { cur += '.' + el_class.slice( 0, 2 ).join( '.' ); } } // add index if this element is not unique among its siblings if ( this.siblings( cur ).length ) { cur += ":eq(" + this.siblings( cur ).addBack().not( '#advads-picker-overlay' ).index( this ) + ")"; } // Recurse up the DOM. if ( path === '' ) { return this.parent().getPath( cur, depth ); } else { return this.parent().getPath( cur + ' > ' + path, depth ); } }, /** * Get XPath. */ getXPath: function ( path, depth ) { // The first time this function is called, path won't be defined. if ( typeof path === 'undefined' ) { path = ''; } if ( typeof depth === 'undefined' ) { depth = 0; } // If this element is we've reached the end of the path. // also end after 2 elements if ( this.is( 'body' ) || 3 === depth ) { return path; } if ( advads.is_boundary_reached( this ) ) { return path; } // Add the element name. var tag = this.get( 0 ).nodeName.toLowerCase(); var cur = tag; // Determine the IDs and path. var el_id = this.attr( 'id' ), el_class = this.attr( 'class' ); var classes = []; // Add the #id if there is one. Ignore ID with number. if ( typeof el_id !== 'undefined' && ! /\d/.test( el_id ) ) { return cur + '[@id and id="' + el_id + '"]/' + path; } else if ( typeof el_class !== 'undefined' ) { // Add classes if there is no id. el_class = el_class.split( /[\s\n]+/ ); // Skip classes with numbers. el_class = jQuery.grep( el_class, function ( element, index ) { return ! /\d/.test( element ) } ); // Add 2 classes. if ( el_class.length ) { depth = depth + 1; var classes = el_class.slice( 0, 2 ); var xpath_classes = []; for ( var i = 0, l = classes.length; i < l; i ++ ) { xpath_classes.push( '(@class and contains(concat(" ", normalize-space(@class), " "), " ' + classes[i] + ' "))' ); } cur += '[' + xpath_classes.join( ' and ' ) + ']'; } } // Add index if this element is not unique among its siblings. if ( classes.length ) { var $siblings = this.siblings( tag + '.' + classes.join( '.' ) ); } else { var $siblings = this.siblings( tag ); } if ( $siblings.length ) { var index = $siblings.addBack().not( '#advads-picker-overlay' ).index( this ); cur += '[' + index + ']'; } // Recurse up the DOM. if ( path === '' ) { return this.parent().getXPath( cur, depth ); } else { return this.parent().getXPath( cur + '/' + path, depth ); } } } ); Ujian Akhir Sekolah SMAN 17 Batam Ta. 2016-2017 – SMAN 17 BATAM

SMAN 17 BATAM

Website Resmi SMA NEGERI 17 BATAM

Berita

Ujian Akhir Sekolah SMAN 17 Batam Ta. 2016-2017

Alhamdulillah tanggal 22 Mei 2017 SMA Negeri 17 Batam telah melaksanakan Ujian Akhir Sekolah. Ujian dilaksanakan sampai tanggal 3 Juni 2017.

Kepala Sekolah : Hj. Tapi Winanti                  Penanggung Jawab

Tutik Hastati, S.Sos             Ketua Pelaksana

Relini Simanungkalit, S.Si  Sekretaris

Andriana Dwi Retno Sejati, S. Pd

Jasamadi Sormin, S. Pd

Hendra Gunawan Simamora, S. Th

Meivi Hanny Siahaya, S. Pd

Jamal Dinata, S. Pd

Lina Amalianawati Jauhar, S. Pd

Asmiwarti Roza, S. Pd

Intan Puspa Sari Desha Putri, S. Pd

Desmice, SE

Dwi Astuti

Agus Marwanto, S.Kom

 

Berikut Beberapa Foto kegiatan Ujian Akhir di SMA Negeri 17 Batam

 

Leave a Reply

Your email address will not be published. Required fields are marked *